C# 使用DataContractJsonSerializer分析JSON时出现错误,无法计算表达式
json数据如下所示C# 使用DataContractJsonSerializer分析JSON时出现错误,无法计算表达式,c#,json,windows-phone-7,C#,Json,Windows Phone 7,json数据如下所示 {"content": [{"url": "http://job.hust.edu.cn/show/recruitcouncil/recruitfair.htm?id=20830", "company": {"id": "50e25f89b041be4510f09cf8", "index": ["\u67d0", "\u91cd\u5e86\u5e02", "\u91cd\u5e86", "\u653f\u6cd5", "\u673a\u5173"], "name":
{"content":
[{"url": "http://job.hust.edu.cn/show/recruitcouncil/recruitfair.htm?id=20830",
"company": {"id": "50e25f89b041be4510f09cf8", "index": ["\u67d0", "\u91cd\u5e86\u5e02", "\u91cd\u5e86", "\u653f\u6cd5", "\u673a\u5173"], "name": "\u91cd\u5e86\u5e02\u67d0\u653f\u6cd5\u673a\u5173", "alias": []}, "starttime": 1357606832.0, "address": {"university": "\u534e\u4e2d\u79d1\u6280\u5927\u5b66", "city": "\u6b66\u6c49", "accurate": {"name": "\u5927\u5b66\u751f\u6d3b\u52a8\u4e2d\u5fc3", "longitude": 114.4141960144043, "latitude": 30.51835035703118, "id": "4f4858f1cea1755b6c000000"}, "detail": "\u5927\u5b66\u751f\u6d3b\u52a8\u4e2d\u5fc3302\u5ba4"}, "endtime": 1357615800.0, "id": "50e25f89b041be4510f09cfa"}, {"url": "http://job.hust.edu.cn/show/recruitcouncil/recruitfair.htm?id=20914", "company": {"id": "50ea9ef2b041be0b2669b246", "index": ["\u5e7f\u897f", "\u8d28\u76d1\u5c40", "\u8d28\u76d1"], "name": "\u5e7f\u897f\u8d28\u76d1\u5c40", "alias": []}, "starttime": 1357608654.0, "address": {"city": "\u6b66\u6c49", "university": "\u534e\u4e2d\u79d1\u6280\u5927\u5b66", "detail": "\u4e3b\u6821\u533a\u6559\u5de5\u6d3b\u52a8\u4e2d\u5fc3"}, "endtime": 1357615800.0, "id": "50ea9ef2b041be0b2669b248"}, {"url": "htt://job.hust.edu.cn/show/recruitcouncil/recruitfair.htm?id=20907", "company": {"id": "50ea9ef2b041be0b2669b243", "index": ["\u53d1\u5c55", "\u7535\u529b", "\u6c47", "\u96c6\u56e2", "\u4e30", "\u6c47\u8fbe\u4e30", "\u73e0\u6d77", "\u8fbe"], "name": "\u73e0\u6d77\u6c47\u8fbe\u4e30\u7535\u529b\u53d1\u5c55\uff08\u96c6\u56e2", "alias": []}, "starttime": 1357803004.0, "address": {"city": "\u6b66\u6c49", "university": "\u534e\u4e2d\u79d1\u6280\u5927\u5b66", "detail": "\u897f\u4e5d\u697c224\u5ba4"}, "endtime": 1357813800.0, "id": "50ea9ef2b041be0b2669b245"}, {"url": "htt://job.hust.edu.cn/show/recruitcouncil/recruitfair.htm?id=20717", "company": {"id": "50d07331b041be3b0b10f707", "index": ["\u89c1\u9762", "\u6bd5\u4e1a\u751f", "\u6bd5\u4e1a", "\u4f9b\u9700", "\u5c4a", "\u4f9b\u9700\u89c1\u9762", "\u4e1a\u751f", "\u9762\u4f1a", "\u89c1\u9762\u4f1a", "\u4f1a", "2013"], "name": "2013\u5c4a\u6bd5\u4e1a\u751f\u4f9b\u9700\u89c1\u9762\u4f1a", "alias": []}, "starttime": 1363654837.0, "address": {"university": "\u534e\u4e2d\u79d1\u6280\u5927\u5b66", "city": "\u6b66\u6c49", "accurate": {"name": "\u5149\u8c37\u4f53\u80b2\u9986", "longitude": 114.41835880279541, "latitude": 30.508552777754073, "id": "4f485921cea1755b6d00000f"}, "detail": "\u5149\u8c37\u4f53\u80b2\u9986"}, "endtime": 1363680000.0, "id": "50e25f89b041be4510f09cf7"}], "deleted": [], "count_query": 4}
我的代码是
[DataContract]
public class Job
{
[DataMember(Name = "url")]
public string Url { set; get; }
[DataMember(Name = "company")]
public Company Company { set; get; }
[DataMember(Name = "starttime")]
public long StartTime { set; get; }
[DataMember(Name = "address")]
public Address Address { set; get; }
[DataMember(Name="endtime")]
public long EndTime { set; get; }
[DataMember(Name="id")]
public string Id { set; get; }
}
[DataContract]
public class Address
{
[DataMember(Name = "university")]
public String University { set; get; }
[DataMember(Name = "city")]
public String City { set; get; }
[DataMember(Name="accurate")]
public Accurate Accurate { set; get; }
[DataMember(Name="detail")]
public String Detail { set; get; }
}
[DataContract]
public class Accurate
{
[DataMember(Name = "name")]
public string Name { set; get; }
[DataMember(Name = "longitude")]
public double Longitude { set; get; }
[DataMember(Name="latitude")]
public double Latitude { set; get; }
[DataMember(Name = "id")]
public string Id { set; get; }
[DataMember(Name = "detail")]
public string Detail { set; get; }
}
[DataContract]
public class Company
{
[DataMember(Name = "id")]
public String Id { set; get; }
[DataMember(Name = "index")]
public string[] Index { set; get; }
[DataMember(Name = "name")]
public String Name { set; get; }
[DataMember(Name="alias")]
public string[] alias { set; get; }
}
public static T JsonToObject<T>(string json)
{
//json = str;
if (!string.IsNullOrEmpty(json))
{
var ms = new MemoryStream(Encoding.UTF8.GetBytes(json));
var ser = new DataContractJsonSerializer(typeof(T));
return (T)ser.ReadObject(ms);
}
return default(T);
}
when I debug I get the result
jsonDeserializer = null
KnownDataContracts = Could not evaluate expression
knownDataContracts null
[DataContract]
公开课工作
{
[DataMember(Name=“url”)]
公共字符串Url{set;get;}
[数据成员(Name=“公司”)]
上市公司{set;get;}
[DataMember(Name=“starttime”)]
公共长起始时间{set;get;}
[数据成员(Name=“address”)]
公共广播地址{set;get;}
[数据成员(Name=“endtime”)]
公共长结束时间{set;get;}
[数据成员(Name=“id”)]
公共字符串Id{set;get;}
}
[数据合同]
公共课堂演讲
{
[DataMember(Name=“university”)]
公共字符串{set;get;}
[DataMember(Name=“city”)]
公共字符串城市{set;get;}
[DataMember(Name=“准确”)]
公共精确{set;get;}
[DataMember(Name=“detail”)]
公共字符串详细信息{set;get;}
}
[数据合同]
公共类准确
{
[数据成员(Name=“Name”)]
公共字符串名称{set;get;}
[DataMember(Name=“经度”)]
公共双经度{set;get;}
[DataMember(Name=“latitude”)]
公共双纬度{set;get;}
[数据成员(Name=“id”)]
公共字符串Id{set;get;}
[DataMember(Name=“detail”)]
公共字符串详细信息{set;get;}
}
[数据合同]
公营公司
{
[数据成员(Name=“id”)]
公共字符串Id{set;get;}
[DataMember(Name=“index”)]
公共字符串[]索引{set;get;}
[数据成员(Name=“Name”)]
公共字符串名称{set;get;}
[DataMember(Name=“alias”)]
公共字符串[]别名{set;get;}
}
公共静态JSONTObject(字符串json)
{
//json=str;
如果(!string.IsNullOrEmpty(json))
{
var ms=newmemoryStream(Encoding.UTF8.GetBytes(json));
var ser=新数据契约JSONSerializer(类型(T));
返回(T)序列读取对象(ms);
}
返回默认值(T);
}
当我调试时,我得到了结果
jsonDeserializer=null
KnownDataTracts=无法计算表达式
KnownDataTracts null
我无法从这段代码中获得任何结果,有人能帮我解析这个json吗?非常感谢 JSON响应的某些值似乎已被unicode转义。看看这个。我相信它会回答你的问题