繁体   English   中英

嵌套对象反序列化JSON会产生一个空对象

[英]Nested Object Deserialization of JSON results in an empty object

美好的一天

我试图使用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)

您的示例中的SubObjA是单个对象,但在您的类中它是一个集合,因此JSON应该是这样的

[{"ObjA":"FOO",
  "SubObjA":[{
    "A":0,
    "B":true,
    "C":2,
    "D":0.2
    }],
  "ObjB":false,
  "ObjC":295,
  }]

注意SubObjA周围的括号。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM