2011-05-27 140 views
0

您好我有一个JSON字符串,它看起来像这样:反序列化为JavaScript的2D JSON字符串数组对象

{"2000":["1", "2", "3"],"2001":["1", "2", "3"],"2002":["1", "2", "3"]} 

上面的字符串来自于“后台”和我的JavaScript函数接收JSON字符串作为参数,这被称为backendData。

通过如下循环参数,给出以下结果。

for (key in backendData) { 
    alert(key); 
} 

三个alertboxes的价值观:2000年,2001年和2002年

的问题是,我无法弄清楚如何访问字符串数组为每个“父”的元素。使用语法key[0]等给了我在字符串索引0的字符,在所有三种情况下都是“2”。

需要帮助。

/Michael

回答

2

该循环遍历所有值。记住backendData只是一个javascript对象。

for (key in backendData) { 
    for (x in backendData[key]) 
    alert(backendData[key][x]); 
} 

或在您的示例数据这将工作

for (key in backendData) { 
    alert(backendData[key][0]; 
    alert(backendData[key][1]; 
    alert(backendData[key][2]; 
} 
+0

虽然内循环给我的索引位置,而不是实际值,所以我得到了0,1和2在内部循环警报框值。 – Michael 2011-05-27 10:38:43

+0

确定内部循环中的警报应该是backendData [key] [x]而不是x,因为x只是索引。困惑我,但让我找到解决方案。谢谢。 – Michael 2011-05-27 10:47:48

+0

@迈克尔 - 对不起 - 很好。 – Hogan 2011-05-27 11:11:32

2

我想你想

backendData[key] 

,因为你要在backendData地图中查找一个映射。 key[0]索引key(作为字符数组),这不是你发现之后的东西。

+0

伟大的我给我1步进一步返回键的字符串为1,2,3如何解析到数组? – Michael 2011-05-27 10:37:34

相关问题