2013-08-26 65 views
0

嘿我公司通過與下面的JSON響應試圖循環:JSON.net通過解析數據

Dim url As String = "https://www.[site here].com/api/v1/messages.json?access_token=" & yAPI.userToken 
Dim request As HttpWebRequest = DirectCast(WebRequest.Create(url), HttpWebRequest) 
Dim response As HttpWebResponse = DirectCast(request.GetResponse(), HttpWebResponse) 
Dim reader As StreamReader = New StreamReader(response.GetResponseStream()) 
Dim o As JObject = JObject.Parse(reader.ReadToEnd) 

reader.Close() 
response.Close() 

Dim mtemp As String = DirectCast(o("messages")(0)("body")("rich").ToString(), String) 

我能得到的數據只是罰款mtemp,但只得到了第一套,而不是循環通過JSON的所有其餘部分。

響應的樣品是:

{ 
    json data here... 
}, 
"threaded_extended": {}, 
    "messages": [ 
    { 
     "network_id": [edited here], 
     "chat_client_sequence": null, 
     "privacy": "public", 
     "body": { 
     "urls": [ 
      "[edited here]" 
     ], 
     "rich": "[edited here]", 
     "plain": "[edited here]", 
     "parsed": "[edited here]" 
     }, 
     "sender_id": [edited here], 
     "content_excerpt": "[edited here]", 
     "client_url": "[edited here]", 
     "client_type": "Web", 
     "web_url": "[edited here]", 
     "created_at": "2013/08/26 19:31:50 +0000", 
     "language": null, 
     etc etc................... 
    }, 
    { 
     "network_id": [edited here], 
     "chat_client_sequence": null, 
     "privacy": "public", 
     "body": { 
     "rich": "[edited here]", 
     "plain": "[edited here]", 
     "parsed": "[edited here]" 
     }, 
     "sender_id": [edited here], 
     "content_excerpt": "[edited here]", 
     "client_url": "[edited here]", 
     "web_url": "[edited here]", 
     "client_type": "Web", 
     "created_at": "2013/08/26 19:25:00 +0000", 
     "language": null, 
     etc etc.... 
    }, 

我如何可以繼續循環,直到它達到我期待的最後一刻?

回答

2

o("messages")JArray,所以你可以枚舉它。在你的代碼中,你只需要第一個項目。如果你想循環,你需要一個循環結構。

For Each msg As JObject In o("messages") 
    ' Do something with each msg 
    Debug.WriteLine(msg("body")("rich").ToString()) 
Next 
+1

非常感謝,Brian! – StealthRT

+0

非常感謝。 –