2012-12-05 44 views
0

我在.net中使用Newtonsoft來解析JSON內容,並希望我實際上對此進行了更好的研究。我創建了一個obj來解析字符串文本,將所有的孩子列入JTOkens列表,然後從每個JProperty中獲取單個值。但是現在我需要捕獲一個值列表並且不知道如何去做。從對象中的數組解析json值

Dim jobj As JObject = JObject.Parse(msg.Body.ToString()) 
Dim results As List(Of JToken) = jobj.Children().ToList 
For Each item As JProperty In results 
      item.CreateReader() 
      If item.Name = "id" Then 
       statid = item.Value 
      End If 
etc... 

但現在我找對象內的以下項目所需要的所有「值」和「標籤」

{"results": 
{ 
{ 
    "language": { 
    "value": "ja" 
}, 
"matching_results": [ 
{ 
    "value": "iPhone5", 
    "tag": "JOE" 
}, 
{ 
    "value": "iPhone5", 
    "tag": "BOB" 
} 
],} 

回答

0

這只是一個打破對象爲令牌和閱讀價值的事列入清單。

Dim tags As List(Of JToken) = 
item.Last.SelectToken("matching_results").Children()("tag").ToList 
+0

請添加一些說明文字,使其成爲一個有用的答案 - 謝謝。 –

1

我有同樣的問題,同時處理JSON,我覺得這個解決方案: -

function jsonParse(data) 
{ 
    if(typeof data=='object') 
    { 
    for(var obj in data) 
    { 
     if(obj=='value') 
     { 
     console.log('value---',data[obj]) 
     } 
     else if(obj=='tag') 
     { 
     console.log('tag---',data[obj]) 
     } 
     jsonParse(data[obj]) 
    } 
    }  
} 

請移除所有控制檯您的變量,我希望這會幫助你。