2012-04-05 169 views
2

我有一个从Web服务调用看起来像这样返回的JSON对象的数组对象的对象:我试图无法反序列化JSON字符串包含包含对象

{"responseData":{"results":[{ 
    "mothraId":null, 
    "studentId":null, 
    "bannerPIdM":null, 
    "externalId":null, 
    "dFirstName":null, 
    "dFullName":null, 
    "dLastName":null, 
    "dMiddleName":null, 
    "modifyDate":"2012-02-24 06:24:33", 
    "oFirstName":"Joe", 
    "oFullName":"Joe R Smith", 
    "oLastName":"Smith", 
    "oMiddleName":"R", 
    "iamId":"999999999", 
    "ppsId":"999999999", 
    "oSuffix":null, 
    "dSuffix":null, 
    "isEmployee":null, 
    "isHSEmployee":null, 
    "isFaculty":"N", 
    "isStudent":"N", 
    "isStaff":"N", 
    "isExternal":"N", 
    "privacyCode":null}]}, 
"responseStatus":0, 
"responseDetails":""} 

使用以下方法来JSON字符串反序列化到对象:

ReturnObject allInOne = js.Deserialize<ReturnObject>(jsonResponse); 

的返回object被定义如下:

public class ReturnObject 
{ 
    public String responseDetails { get; set; } 
    public String responseCode { get; set; } 
    public ResponseData responseData { get; set; } 

    public class ResponseData 
    { 
     public List<PeopleResult> results { get; set; } 

     public class PeopleResult{ 

      String iamId { get; set; } 
      String mothraId { get; set; } 
      String ppsId { get; set; } 
      String studentId { get; set; } 
      String bannerPIdM { get; set; } 
      String externalId { get; set; } 
      String oFirstName { get; set; } 
      String oMiddleName { get; set; } 
      String oLastName { get; set; } 
      String oFullName { get; set; } 
      String oSuffix { get; set; } 
      String dFirstName { get; set; } 
      String dMiddleName { get; set; } 
      String dLastName { get; set; } 
      String dSuffix { get; set; } 
      String dFullName { get; set; } 
      String isEmployee { get; set; } 
      String isHSEmployee { get; set; } 
      String isFaculty { get; set; } 
      String isStudent { get; set; } 
      String isStaff { get; set; } 
      String isExternal { get; set; } 
      String privacyCode { get; set; } 
      String modifyDate { get; set; } 
     } 
    } 

不幸的是,除了列表结果中的各个PeopleResult对象的内容外,我得到了一切。 PeopleResult中所有属性的值均为null。我的ReturnObject类的结构或命名是否有问题?

回答

1

PeopleResult类中的所有属性都是公共的。

+0

太棒了!或者我应该说'我显然不太聪明'。我开始使用Java中的一些工作代码,并将其移植到C#中,但未收到此代码。谢谢! – GarySharpe 2012-04-05 22:41:02

+1

@GarySharpe - 发生在我们身上,你觉得我怎么注意到它? :D – 2012-04-05 22:42:22

+0

我会检查这个答案是有用的,但作为一个完整的newb提交在stackoverflow上的评论,我还没有被授予privelege。 – GarySharpe 2012-04-05 22:44:56

相关问题