json ="{
"data": [
{
"id": "1000",
"from": {
"name": "Anthony Waema",
"category": "message",
"id": "192"
},
"message": "this is the message",
"updated_time": "2001-05-06T19:34:15+0000",
"likes": {
"data": [
{
"id": "100001692250255",
"name": "\u00dcnal Turanl\u0131"
},
{
"id": "100001060078996",
"name": "S\u00e9f\u00e2 K\u00e2ql\u00e4Nn"
}]
},
{
"id": "10150186255753553",
"from": {
"name": "another name",
"category": "message",
"id": "100001"
},
"message": "this is the message",
"updated_time": "2001-04-06T19:34:15+0000",
"likes": {
"data": [
{
"id": "1002345",
"name": "\u00dcnal Turanl\u0131"
},
{
"id": "100234",
"name": "S\u00e9f\u00e2 K\u00e2ql\u00e4Nn"
}]
}
}
]
}";
public class Allstatus
{
public List<sdata> data { get; set; }
public scpaging paging { get; set; }
}
public class sdata
{
public string id { get; set; }
public sfrom from { get; set; }
public string message { get; set; }
public string updated_time {get; set;}
public List<likesdata> likes { get; set; }
}
public class likesdata
{
public string id{ get; set; }
public string name{ get; set; }
}
public class sfrom
{
public string name {get; set;}
public string category {get; set;}
public string id {get; set;}
}
JavaScriptSerializer ser = new JavaScriptSerializer();
page = ser.Deserialize<allstatus>(json);
foreach (sdata cd in page.data)
{
foreach(likesdata ld in cd.likes.data)
{
Console.WriteLine(ld.id+"\t"+ld.name);
}
}
问题: 我需要解析json并检索喜欢的数据。 我可以访问“from”数据但不能“喜欢”数据..当我这样做时,我得到nullreference错误。帮助需要在这里..谢谢。使用system.web.script.seriarilization解析Json或使用json.net
除了使用.NET 2.0,是否真的有一个很好的理由使用外部库而不是内置JavaScriptSerializer?除非绝对必要,否则我不会在应用程序中使用外部依赖关系。 – 2011-05-15 17:33:28
顺便说一句,很好的答案。 +1 – 2011-05-15 17:33:48
@Kevin,JavaScriptSerializer位于System.Web内部,因此您将无法使用.NET 3.5及更高版本的客户端配置文件。 – 2011-05-15 17:44:22