C# Can';t将Json字符串反序列化为包含对象数组的对象
我有一个从web服务调用返回的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
{"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评论的新手,我还没有发现我们被授予特权。