在javascript中循环浏览json

时间:2012-07-21 16:46:20

标签: javascript xml json oop

"obj" : {

"a" : [
      { "name" : "value" },
      { "name" : "value" },
      { "name" : "value }
     ],
"b" : [
      { "name" : "value" },
      { "name" : "value" },
      { "name" : "value" }
      ]
};

我的json结构与此类似,因为“a”和“b”是包含也包含对象的数组的对象。迭代/循环我不是很好。我主要想得到“名字”的价值。任何帮助?谢谢!

3 个答案:

答案 0 :(得分:4)

var foo = JSON.parse(json);

for(var i in foo){
    for(var y = 0; y < foo[i].length; y++)
        alert(foo[i][y].name);
}

https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/JSON/parse

答案 1 :(得分:2)

您可以使用forEach

Object.keys( json.obj ).forEach(function ( key ) {
    json.obj[ key ].forEach(function ( obj ) {
        // retrieve obj.name here
    });
});

现场演示: http://jsfiddle.net/4Mrkp/

答案 2 :(得分:0)

使用underscore.js - &gt;

var obj = {

"a" : [
      { "name" : "value" },
      { "name" : "value" },
      { "name" : "value" }
     ],
"b" : [
      { "name" : "value" },
      { "name" : "value" },
      { "name" : "value" }
      ]
};

var names = _.chain(obj).values().flatten().pluck('name').value();