1
"obj" : {

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

我的 json 结构与此类似,因为“a”和“b”是包含数组的对象,数组也包含对象。我对迭代/循环不是很好。我主要想获得“名称”的值。有什么帮助吗?提前致谢!

4

3 回答 3

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

于 2012-07-21T16:48:37.120 回答
2

您可以使用forEach

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

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

于 2012-07-21T16:58:17.240 回答
0

使用 underscore.js ->

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();
于 2012-07-21T17:01:00.937 回答