如何用ajax读取嵌套的json?
我在sql请求之后有一个由php格式化的json,如下所示:
[
{
"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"
},
]
}
]
Ajax做经典
$.getJSON(script, function (result) {
$(result).each(function(i){
// do something with result
});
});
我试过了:
result[i].owner_info.name -> error
result[i].telephone[0].id -> error
我一直在网上搜索但找不到任何解决方案......
谢谢
答案 0 :(得分:2)
您使用了错误的each
方法。 $(selector).each()
与$.each()
不同!
来自jQuery文档。
$.each()
功能与$(selector).each()
不同,即{} 用于独占迭代jQuery对象。$.each()
函数可用于迭代任何集合,无论它是否为 map(JavaScript对象)或数组。
使用正确的each
函数的解决方案。
$.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);
});
});