gpt4 book ai didi

c# - 如何在 MVC 3 Controller 中获取动态创建的 Json 数据集?

转载 作者:行者123 更新时间:2023-11-29 17:30:03 26 4
gpt4 key购买 nike

好的,所以我使用的是 MVC 3,它非常擅长将 JSON 数据集反序列化为传递给我的 Controller 操作的强类型对象。不幸的是,我还没有找到更动态案例的解决方案。

内置的 Json 反序列化和类是否支持“未定义”属性集?例如,假设我有一些固定数据,如姓名和年龄,但我还想传递一个动态创建的评级列表,用户可以在其中输入(或选择)电影并在表中设置评级值。

模型数据结构可能是这样的:

public class UserRatings
{
public string Name { get; set; }
public int Age { get; set; }
public Dictionary<string,int> Ratings { get; set; }
}

但假设我的 Json 数据集在 javascript 中看起来像这样:

var data = { Name: name, Age: age, Ratings: rating };

其中评分变量是一个动态构造的对象,它由作为键的电影名称(或 ID)和作为数字的评分组成。在 Controller 操作中对此进行反序列化自然不会成功,因为它不理解 Ratings 到相当复杂的字典对象的映射。但是是否有一个通用的 Json 集合,我可以将其用作中间格式来代替评级?

我已经尝试在 javascript 中将 Ratings 对象设置为 Json 字符串,然后只发送一个字符串,但我找不到“工厂”或可以在 C# 中创建 Json 结构的东西,我可以迭代它来获取数据出。 JsonJsonResult 类在这方面似乎对我没有帮助。基本上我如何使用 MVC 中内置的 Json 支持将我自己的反序列化为一些通用的 Json 集合对象?

最佳答案

您可以使用 JavaScriptSerializerDataContractSerializer与一些 ActionFilters。它们非常灵活

关于c# - 如何在 MVC 3 Controller 中获取动态创建的 Json 数据集?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5473156/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com