Ajax 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",

如何使用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"
          },
      ]
   }
]
阿贾克斯做了一个经典

$.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。我怎样才能做到这一点?