如何在javascript中通过json解析关联数组

时间:2012-09-18 12:03:21

标签: javascript ajax json multidimensional-array

我有一个2-D php数组,我通过JSON编码。我在PHP中的2d数组是这样的:

$array['A'][12] = 8;
$array['A'][8] = 21;

$array['B'][17] = 19;
$array['B'][9] = 12;

当我执行echo json_encode($array);并将其作为Ajax xmlhttp.responsetext提醒时,我会在警告框中显示:{"A":{"12":"8","8":"21"},"B":{"17":"19","9":"12"}}

这绝对没问题。现在我需要在javascript中解析它,所以我使用了JSON.parse()函数。问题是当我访问字符串的A和B字段时。我在警报框中得到了这个:Object object。如何解析这个关联数组?我是AJAX和JSON的初学者,所以请帮助。

2 个答案:

答案 0 :(得分:3)

var array = JSON.parse(yourResponseData);

array.A // Object
array.A['12'] //8

您无法通过点语法访问键'12',因为没有变量名称可以以数字开头。

答案 1 :(得分:0)

您可以使用console.log()而不是alert()来查看已解析的json对象的完整结构。 您可以使用轻松检索值。符号或[]括号: 例如:

var returned = JSON.parse(tran.responseText);
console.log(returned['A']['8']); //which should give you '21' based on your case