C# Can';t将Json字符串反序列化为包含对象数组的对象

C# Can';t将Json字符串反序列化为包含对象数组的对象,c#,json,web-services,javascriptserializer,C#,Json,Web Services,Javascriptserializer,我有一个从web服务调用返回的JSON对象,如下所示: {"responseData":{"results":[{ "mothraId":null, "studentId":null, "bannerPIdM":null, "externalId":null, "dFirstName":null, "dFullName":null, "dLastName":null, "dMiddleName":null, "modifyD

我有一个从web服务调用返回的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);
ReturnObject allInOne=js.Deserialize(jsonResponse);
ReturnObject的定义如下:

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; }
        }
    }
公共类ReturnObject
{
公共字符串响应详细信息{get;set;}
公共字符串响应代码{get;set;}
公共响应数据响应数据{get;set;}
公共类响应数据
{
公共列表结果{get;set;}
公众阶级的结果{
字符串iamId{get;set;}
字符串{get;set;}
字符串ppsId{get;set;}
字符串studentId{get;set;}
字符串bannerPIdM{get;set;}
字符串外部ID{get;set;}
RSTName{get;set;}的字符串
字符串omidleName{get;set;}
字符串oLastName{get;set;}
全名{get;set;}的字符串
字符串oSuffix{get;set;}
字符串dFirstName{get;set;}
字符串dMiddleName{get;set;}
字符串dLastName{get;set;}
字符串dSuffix{get;set;}
字符串dFullName{get;set;}
字符串isEmployee{get;set;}
字符串isHSEmployee{get;set;}
字符串{get;set;}
字符串isStudent{get;set;}
字符串isStaff{get;set;}
字符串isExternal{get;set;}
字符串privacyCode{get;set;}
字符串modifyDate{get;set;}
}
}

不幸的是,除了列表结果中单个PeopleResult对象的内容之外,我获取了所有内容。PeopleResult中所有属性的值都为空。我的ReturnObject类的结构或命名或内部是否有问题?

您的PeopleResult类中没有一个属性是公共的。

Brilliant!或者我应该说“我显然没那么聪明”。我刚开始用Java编写一些工作代码,我已经移植到C#了,但没有听清楚。谢谢!@GarySharpe-我们中最好的一个,你认为我是怎么注意到的?:我会检查这个答案是否有用,但作为一个提交stackoverflow评论的新手,我还没有发现我们被授予特权。