2013-04-18 210 views
0

我想解析下面的JSon來訪問名稱屬性。但我有一些困難。如何解析Twitter趨勢Json響應

{[ 
    { 
    "trends": [ 
     { 
     "name": "#penaltypointsforpricks", 
     "url": "http://twitter.com/search?q=%23penaltypointsforpricks", 
     "promoted_content": null, 
     "query": "%23penaltypointsforpricks", 
     "events": null 
     }, 
     { 
     "name": "#sometimesiwishthat", 
     "url": "http://twitter.com/search?q=%23sometimesiwishthat", 
     "promoted_content": null, 
     "query": "%23sometimesiwishthat", 
     "events": null 
     }, 
     { 
     "name": "#1000daysof1d", 
     "url": "http://twitter.com/search?q=%231000daysof1d", 
     "promoted_content": null, 
     "query": "%231000daysof1d", 
     "events": null 
     }, 
     { 
     "name": "#ireland", 
     "url": "http://twitter.com/search?q=%23ireland", 
     "promoted_content": null, 
     "query": "%23ireland", 
     "events": null 
     }, 
     { 
     "name": "#savita", 
     "url": "http://twitter.com/search?q=%23savita", 
     "promoted_content": null, 
     "query": "%23savita", 
     "events": null 
     }, 
     { 
     "name": "Twitter", 
     "url": "http://twitter.com/search?q=Twitter", 
     "promoted_content": null, 
     "query": "Twitter", 
     "events": null 
     }, 
     { 
     "name": "Cork", 
     "url": "http://twitter.com/search?q=Cork", 
     "promoted_content": null, 
     "query": "Cork", 
     "events": null 
     }, 
     { 
     "name": "Facebook", 
     "url": "http://twitter.com/search?q=Facebook", 
     "promoted_content": null, 
     "query": "Facebook", 
     "events": null 
     }, 
     { 
     "name": "Boston", 
     "url": "http://twitter.com/search?q=Boston", 
     "promoted_content": null, 
     "query": "Boston", 
     "events": null 
     }, 
     { 
     "name": "Will", 
     "url": "http://twitter.com/search?q=Will", 
     "promoted_content": null, 
     "query": "Will", 
     "events": null 
     } 
    ], 
    "as_of": "2013-04-18T18:34:45Z", 
    "created_at": "2013-04-18T18:29:40Z", 
    "locations": [ 
     { 
     "name": "Dublin", 
     "woeid": 560743 
     } 
    ] 
    } 
]} 

我有以下建議,但它在運行時返回空引用異常。

var twitterObject = JToken.Parse(jsonString); 
     var trendsArray = twitterObject.Children<JProperty>().FirstOrDefault(x => x.Name == "trends").Value; 


     foreach (var item in trendsArray.Children()) 

     { 
      var itemProperties = item.Children<JProperty>(); 
      //you could do a foreach or a linq here depending on what you need to do exactly with the value 
      var myElement = itemProperties.FirstOrDefault(x => x.Name == "url"); 
      var myElementValue = myElement.Value; ////This is a JValue type 
     } 

任何人有任何建議,如何解析這個JSON響應讓每一個人「名」

回答

1

我能得到使用這個名稱。

dynamic dynObj = JsonConvert.DeserializeObject(jsonString); 

foreach (var trend in dynObj[0].trends) 
{ 
    Console.WriteLine(trend.name); 
} 

它可能會更好編寫的JSON對象類,如果您打算搶什麼比名字更多,但我希望這有助於。

+0

太棒了!你的救星 –