2013-08-26 2 views
0

이봐 난 다음과 JSON 응답을 통해 루프를 시도하고 모든 : 나는 mtemp에 잘 데이터를 얻을 수 있지만 그것은 단지 대신 첫 세트를 가져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) 

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

감사합니다. 훌륭한 브라이언! – StealthRT

+0

고맙습니다. –

관련 문제