2012-10-31 30 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]' –