在JSON中循环访问JavaScript对象

时间:2015-07-14 14:35:41

标签: javascript json object

我通过POST请求从网站请求数据,并已通过设置

隔离了所需的数据/密钥对
DB2COMM

如果我将列表打印到控制台,我会得到一堆具有许多不同属性和值的对象:

relevant_listings = data["listings"];

我知道如何从返回的第一个对象访问属性:

Object {350503275519564011: Object, 359510012249522033: Object, 358384527390382582: Object, 826758911669189345: Object, 827884358724814556: Object…}

但是,我找不到循环浏览不同对象的方法,例如从第二个对象获取property1。

您是否会如此友善地帮助我找到正确的语法/方法来解决这个问题?

亲切的问候,

1 个答案:

答案 0 :(得分:0)

如果您使用单个for循环来循环您的父对象,则您无法访问子对象的属性。在许多策略中,您可以使用嵌套for循环。例如,

var data = {
    obj1: {
        dog: "retriever",
        name: "bob"
    },
    obj2: {
        dog: "poodle",
        name: "jim"
    }
};

for (var p in data) {
    console.log(p) //"obj1", "obj2"
    console.log(data[p]) //this doesn't access the child properties of the nested object

    //check if the property of your parent object is a nested object
    if (typeof data[p] === "object") {

        /**
         * another way to write this nested loop is
         * var nestedObject = data[p];
         * for (var q in nestedObject) { //etc.... }
         */

        for (var q in data[p]) {
            console.log(data[p][q]) //"retriever", "bob", "poodle", "jim"
        }
    }
}