美好的一天
我正在尝试使用Javascriptserializer将JSON对象反序列化为C#类。该对象包含嵌套对象。这是对象的表示:
[{"ObjA":"FOO",
"SubObjA":{
"A":0,
"B":true,
"C":2,
"D":0.2
},
"ObjB":false,
"ObjC":295,
}]
在c#中,我为这些创建了类:
public class ClassA
{
public string ObjA { get; set; }
public Collection<SubObjA> SubObjA { get; set; }
public bool ObjB { get; set; }
public int ObjC { get; set; }
}
public class SubObjA
{
public int A { get; set; }
public bool B { get; set; }
public int C { get; set; }
public decimal D { get; set; }
}
反序列化对象时,我看到SubObjA Collection没有填充(Count = 0)
var Helper = new JavaScriptSerializer().Deserialize<ClassA[]>(Request["TheJSONIAmDeserializing"]);
为什么集合没有填充? (由于Request [“”]而标记为AJAX)
答案 0 :(得分:2)
您的示例中的SubObjA是单个对象,但在您的类中它是一个集合,因此JSON应该看起来像
[{"ObjA":"FOO",
"SubObjA":[{
"A":0,
"B":true,
"C":2,
"D":0.2
}],
"ObjB":false,
"ObjC":295,
}]
SubObjA周围的注意事项。