在javascript中迭代json数据

时间:2015-05-06 16:58:52

标签: javascript php jquery json

以下JSON数据来自php,

Json format

我试过以下代码。但控制台显示undefined错误。

jQuery.each(result.address, function(obj) {
  console.log(obj.city);
});

编辑:它也没有工作并抛出未定义的错误。

jQuery.each(result.address, function(obj) {
  console.log(obj[0].city);
});

工作正常:console.log(result.address.address1.city);。但在这种情况下,address1不是固定的。例如。 result.address.xyz.city, result.address.abc.city

3 个答案:

答案 0 :(得分:5)

您在每个地址都呼叫城市,而城市在地址内的地址X内。尝试:

node v0.12.0
node-inspector v0.10.0
mocha v2.2.4

jsfiddle DEMO

答案 1 :(得分:0)

也许这样:

for (i = 0; i < result.address.length; i++) {
    console.log(result.address[i].city);
}

我不确定jquery.each是否适用于这种情况。

我希望它有所帮助。

答案 2 :(得分:0)

Javascript

 var dictionary = {
        "12Jan2013": [{
            "id": "0",
            "name": "ABC"
        }, {
            "id": "1",
            "name": "DEF"
        }],
        "13Jan2013": [{
            "id": "0",
            "name": "PQR"
        }, {
            "id": "1",
            "name": "xyz"
        }]
    };

for (var i in dictionary) {
    dictionary[i].forEach(function(elem, index) {
        console.log(elem, index);
    });
}

输出

Object {id: "0", name: "ABC"} 0 
Object {id: "1", name: "DEF"} 1 
Object {id: "0", name: "PQR"} 0 
Object {id: "1", name: "xyz"} 1