JSON嵌套表

时间:2012-10-02 08:39:33

标签: ajax json getjson

如何用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

我一直在网上搜索但找不到任何解决方案......

谢谢

1 个答案:

答案 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);
    });
});