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.net 사용하여 구문 분석 : 는 내가 JSON을 구문 분석하고 좋아하는 데이터를 검색 할 필요가있다. "from"데이터에 액세스 할 수 있지만 "likes"데이터에는 액세스 할 수 없습니다. 이렇게하면 null 참조 오류가 발생합니다. 여기에 도움이 필요해 .. 고마워.JSON은 system.web.script.seriarilization를 사용하거나
.NET 2.0 외에도 내장 JavaScriptSerializer 대신 외부 라이브러리를 사용하는 것이 좋은 이유가 있습니까? 필자는 절대적으로 필요한 경우가 아니라면 응용 프로그램에서 외부 종속성을 사용하는 것을 좋아합니다. –
그건 그렇고, 좋은 대답. +1 –
@Kevin, JavaScriptSerializer는 System.Web 안에 있으므로 .NET 3.5 이상에서는 클라이언트 프로파일을 사용할 수 없습니다. –