2012-10-31 69 views
0

嗨,大家好,我使用parseJSON解析這個JSON字符串:如何使用JavaScript訪問此JSON字符串中的響應/響應ID?

json = [ 
    { 
    "Answers": [ 
     { 
     "Responses": [ 

     ], 
     "AnswerID": 1, 
     "AnswerText": "Green" 
     }, 
     { 
     "Responses": [ 
      { 
      "ResponseID": 1, 
      "RespondingUser": null, 
      "ResponseDate": "\/Date(1351694241577)\/" 
      }, 
      { 
      "ResponseID": 2, 
      "RespondingUser": null, 
      "ResponseDate": "\/Date(1351694245093)\/" 
      } 
     ], 
     "AnswerID": 2, 
     "AnswerText": "Blue" 
     } 
    ], 
    "QuestionID": 1, 
    "QuestionText": "Favourite colour?", 
    "ClosingDate": "\/Date(1351953058527)\/", 
    "AskingUser": null 
    } 
] 

var result = jQuery.parseJSON(json); 

,但我怎麼得到的答覆/響應的ID了「結果」,現在呢?任何幫助將不勝感激!

+0

這不是一個JSON字符串,它是一個Javascript對象。 –

回答

2

[] =陣列

{} =對象

您有一個數組,失去包裹方括號中。

警報(json.Answers [0] .AnswerText)= 「綠色」

+0

如果「響應」應該都是「答案」的孩子,那麼你的JSON結構有問題。 –

+0

嗨,感謝您的回答! - 迴應有什麼問題?我想這可能是一個更嚴重的問題? – Joe

+0

「答案」的第一個「回答」是空的,然後在此結構之外聲明另一個「答覆」。 –

1

您應該能夠使用for-in循環:

for (i in result[0].Answers) 
{ 
    // do something with result[0].Answers[i].Responses 
} 

這是你在找什麼?

+0

爲什麼「沒用」投票?我做錯什麼了嗎? –

+0

我沒有那樣做 – Joe

+0

結果仍然是空警報:/ – Joe

1
for (var a in result[0].Answers) { 
    result[0].Answers[a].AnswerID // Do something with it. 
} 
+0

我實際上認爲'a'將是結果[0] .Answers []數組內的索引。你會這樣引用它:'result [0] .Answers [a]' –