Ajax JSON嵌套表
如何使用ajax读取嵌套json 在sql请求之后,我有一个由php格式化的json,如下所示:Ajax JSON嵌套表,ajax,json,getjson,Ajax,Json,Getjson,如何使用ajax读取嵌套json 在sql请求之后,我有一个由php格式化的json,如下所示: [ { "owner_info": { "name":"John", "address":"4", "date":"10/01/2012" } }, { "telephone": [ { "id":"1", "place":"5",
[
{
"owner_info":
{
"name":"John",
"address":"4",
"date":"10/01/2012"
}
},
{
"telephone":
[
{
"id":"1",
"place":"5",
"number":"+123456"
},
{
"id":"2",
"place":"5",
"number":"+789456"
},
{
"id":"3",
"place":"8",
"number":"+0011223"
},
]
}
]
阿贾克斯做了一个经典
$.getJSON(script, function (result) {
$(result).each(function(i){
// do something with result
});
});
我试过:
result[i].owner_info.name -> error
result[i].telephone[0].id -> error
我一直在网上搜索,但找不到任何解决方案
谢谢您使用了错误的
每种方法<代码>$(选择器)。each()
与$不同。each()
来自jQuery文档
$。each()
函数与$(选择器)不同。each()
,即
用于以独占方式迭代jQuery对象。$.each()
函数可用于迭代任何集合,无论它是
映射(JavaScript对象)或数组
使用正确的每个功能的解决方案
$.getJSON(script, function (result) {
$.each(result, function(key, value) {
// either use
console.log(value.owner_info.name);
// or
console.log(result[key].owner_info.name);
});
});
谢谢,但我仍然在javascript中遇到同样的错误:owner_info.name为null或不是对象这样嵌套json有什么问题吗?那么result
不是您指定的格式!我用你提供的数据创建了一个应用程序,它很有效!我刚刚意识到,试图读取电话的部分就是引发错误的部分。我正在尝试value.telephone[1].number,但如上所述的javascript错误现在在第二次查看您的数据后,我发现您的数组包含2个对象。一个对象是所有者信息
,另一个对象是电话
。根据您的尝试,您似乎希望telephone
位于owner\u info
对象中,而不是result
数组的第二个元素中。对于数组中的第二个元素,上面的代码也将失败,因为它没有名为name
的属性。我想要实现的是[owner\u info,telephone[]
->一个条目有1个owner\u info和n个telephone。我怎样才能做到这一点?