如何使用AJAX循环更深的json数组?

时间:2014-03-11 17:18:39

标签: jquery ajax json loops

我已经查看了使用.each元素循环遍历数组的其他问题,我仍然无法使我的函数工作 - 我在未定义的元素上得到引用错误,我想我不会去'深足够'在我的嵌套.each语句中。

我的函数成功返回变量'response',它应包含许多对象/数组。

$.each(response, function(){
     console.log(response.first_name);
}

这显然是不正确的,因为它不会“足够深”可以这么说,但我对如何在其中添加多个$ .each循环感到困惑。其他问题的名称列在“响应”中,或者它们具有函数(x,test)以在循环时显示索引。我输了。

根据谷歌浏览器中的控制台,我的json的结构是这样的:

Object {data: Array[2]}
    data: Array[2]
        0: Object
            User: Object
                  first_name: "Steve"
                  last_name: "Ramsey"
        1: Object
            User: Object
                  first_name: "Bob"
                  last_name: "Ramsey"

正如你所看到的,其中一个字段的名称递增,所以我知道在循环遍历数字时我需要一个变量作为索引。我的想法是,我将使用这些数据在页面上吐出“Bob Ramsey”,“Steve Ramsey”等,以及可能出现在对象中的任何其他信息。

1 个答案:

答案 0 :(得分:3)

first_name看起来是对象调用User的一部分,因此您需要先引用用户。

var response = {
    data: [{
        User: {
            first_name: "Steve",
            last_name: "Ramsey"
        }
    },{
        User: {
            first_name: "Bob",
            last_name: "Ramsey"
        }
    }]
};

$.each(response.data, function (index, value) {
    console.log(value.User.first_name);
});

JSFiddle:http://jsfiddle.net/8LfXF/1/