2012-04-04 20 views
2

我想從下面流解析JSON值訪問子值:無法在Newtonsoft.Json.Linq.JProperty

{"id": "tag:search.xxxxx.com,2005:xxxxxxxxxxx"} 
{"body": "acordei (:"} 
{"verb": "post"} 
{"link": "http://xxxxx.com/rohanaf_/xxxxxxxxxx/xxxxxxxxx"} 
{"generator": { 
    "link": "http://xxxxx.com", 
    "displayName": "web" 
}} 
{"postedTime": "2012-03-31T19:23:51.000Z"} 
{"provider": { 
    "link": "http://www.xxxxx.com", 
    "displayName": "xxxxxx", 
    "objectType": "service" 
}} 
{"object": { 
    "summary": "acordei (:", 
    "id": "object:search.xxxxxx.com,2005:xxxxxxxxxxxx", 
    "link": "http://xxxxxxx.com/rohanaf_/statuses/xxxxxxxxxxxx", 
    "postedTime": "2012-03-31T19:23:51.000Z", 
    "objectType": "note" 
}} 
{"actor": { 
    "summary": "- namorada da @srtameiga fim. ♥", 
    "twitterTimeZone": "Brasilia", 
    "friendsCount": 197, 
    "location": { 
    "displayName": "Porto Alegre ", 
    "objectType": "place" 
}, 
"link": "http://www.xxxxxxxxxx.com/rohanaf_", 
"postedTime": "2010-03-31T20:12:49.000Z", 
"image": "http://a0.twimg.com/profile_images/xxxxxxxxxxx/Foto1436_normal.jpg", 
"links": [ 
    { 
    "rel": "me", 
    "href": null 
    } 
], 
"listedCount": 3, 
"id": "id:xxxxxxxxxxx.com:xxxxxxxxx", 
"languages": [ 
    "pt" 
], 
"utcOffset": "-10800", 
"followersCount": 347, 
"preferredUsername": "rohanaf_", 
"displayName": ", feia ;$", 
"statusesCount": 48412, 
"objectType": "person" 
}} 
{ 
"xxxxxx_entities": { 
"urls": [], 
"hashtags": [], 
"user_mentions": [] 
}} 
{"objectType": "activity"} 
{"source": { 
"language": { 
"value": "fr" 
}, 
"matching_rules": [ 
{ 
    "value": "lang:fr", 
    "tag": null 
} 
], 
}} 

我試着用JSON.NET下列選項和作品大多但缺少幾個領域(來源:及其所有孩子,包括他們的孩子)。 (「源」)(「matching_rules」)(「標籤」)...等

Dim results as List(Of JToken) = jobj.Children().ToList 
For each item as JProperty In results 
    item.CreateReader() 
    If item.name ="id" then 
     id = item.value 
    End If 
    If item.name ="actor" then 
     author = item.Value("displayName").ToString 
    End If 
    If item.name="source" then 
     Dim gList as IList(Of JToken)= item("matching_rules").Children.ToList 
    End If 
Next 

我試圖讓所有的孩子該屬性名稱來源值。現在,如果我使用JsonTextReader,我可以讀取所有內容,但這很乏味且容易出錯。任何建議感激。

回答

4

我想通了

If item.name = "source" then 
    searchterm = item.last.selecttoken("matching_rules").first.item("value").tostring 
End if