Javascript 如何访问JSON对象中的嵌套数组?
我正在使用PHP返回一个json_encode()'d数组,以便在Javascript代码中使用。它被返回为:Javascript 如何访问JSON对象中的嵌套数组?,javascript,json,arrays,object,Javascript,Json,Arrays,Object,我正在使用PHP返回一个json_encode()'d数组,以便在Javascript代码中使用。它被返回为: {"parent1[]":["child1","child2","child2"],"parent2[]":["child1"]} 通过使用以下代码,我可以访问parent2>child1 $.getJSON('myfile.php', function(data) { for (var key in data) { alert(data[key]);
{"parent1[]":["child1","child2","child2"],"parent2[]":["child1"]}
通过使用以下代码,我可以访问parent2>child1
$.getJSON('myfile.php', function(data)
{
for (var key in data)
{
alert(data[key]);
}
}
但是,这不允许我访问parent1
的child1、child2、child
。对密钥发出警报本身显示“parent1”,但当我尝试对其内容发出警报时,会发现未定义
我想它会给我一个对象/数组?如何访问parent1的孩子
data[key][0]?返回的JSON应该是:
{"parent1":["child1","child2","child2"],"parent2":["child1"]}
然后,您可以通过以下方式访问它们:
var data = {"parent1":["child1","child2","child2"],"parent2":["child1"]}
alert(data['parent1'][0]);
alert(data['parent1'][1]);
alert(data['parent1'][2]);
您可以在变量中指定它,如下所示: var=数据[键] 然后使用数组的大小获取数组的内容
希望这能有所帮助。您只在对象中迭代了一个级别,因此您只看到父对象是正确的。你得潜入那些钥匙里去找孩子们
// Generally, avoid the "foreach" form in JavaScript.
for (var i = 0; i < data.length; i++) {
alert(data[i]); // Parent1[], Parent2[], etc
var parent = data[i];
for (var j = 0; j < parent.length; j++) {
alert(parent[j]); // Child1, Child2, etc
}
}
//通常,避免使用JavaScript中的“foreach”形式。
对于(变量i=0;i
另外,父键上的[]后缀也可以。它是有效的JSON。除非我的眼睛欺骗了我,否则唯一的区别是您将parent1[]重命名为parent1,将parent2[]重命名为parent2。这将如何修复代码?:/“parents”是我的HTML表单中输入的名称。输入是数组,因此用[]命名。好的,所以您不必像我那样重命名。但是您仍然可以通过以下方式访问它们:for(var i=0;i