【发布时间】:2018-03-01 16:51:46
【问题描述】:
我有一个 JSON 文件,它通过来自客户端的 POST 请求发送到 MVC 控制器。由于没有在 C# 中存储 JSON 的直接方法,因此我正在尝试创建模型来存储数据。这是 JSON 的结构:
{
"SubscriptionsType1": {
"Obj1": {
"Value1": "3454234",
"Value2": "345643564",
"Value3": "665445",
"Value4": "True"
},
"Obj2": {
"Value1": "3454234",
"Value2": "345643564",
"Value3": "665445",
"Value4": "True"
},
"Obj3": {
"Value1": "3454234",
"Value2": "345643564",
"Value3": "665445",
"Value4": "True"
}
},
"SubscriptionsType2": {
"Obj1": {
"Value1": "3667635",
"Value2": "34563456",
"Value3": "234545",
"Value4": "False"
},
"Obj2": {
"Value1": "97865",
"Value2": "356356",
"Value3": "665757445",
"Value4": "True"
},
"Obj3": {
"Value1": "3454234",
"Value2": "345643564",
"Value3": "665445",
"Value4": "False"
}
},
//etc..
}
型号如下:
public class RootObject {
public IEnumerable<SubscriptionObj> Subscriptions { get; set; }
}
public class Subscriptions {
IEnumerable<SubscriptionObj> objs;
}
public class SubscriptionObj
{
public Int64 Value1 {get;set;}
public Int64 Value2 {get;set;}
public Int64 Value3 {get;set;}
public Boolean Value4 {get;set;}
}
由于某种原因,如果我使用这种结构创建模型类,根对象在从控制器传递 JSON 对象后仍然为空。 但是,当我显式创建属性来存储 JSON 对象的每个值时,它就可以工作了。由于 JSON 对象没有固定数量的元素,因此我需要一种方法来动态存储每个属性。 如何做到这一点?
【问题讨论】:
-
@L.B 我已经用过那个网站了。它不使用动态大小的集合来存储属性。它仅对模型进行硬编码以专门适合 JSON 对象。
标签: c# asp.net json http model-view-controller