2013-09-27 59 views
-2

我们如何列出以下JSON对象数组中属性的值(例如“ObjectPropertyTwo”)?JSON对象的属性值列表

{ 
    "KeyOne": [ 
     { 
      "ObjectPropertyOne": "value", 
      "ObjectPropertyTwo": "value", 
      "ObjectPropertyThree": "value", 
      "ObjectPropertyFour": "value", 
     }, 
     { 
      "ObjectPropertyOne": "value", 
      "ObjectPropertyTwo": "value", 
      "ObjectPropertyThree": "value", 
      "ObjectPropertyFour": "value", 
     }, 
     { 
      "ObjectPropertyOne": "value", 
      "ObjectPropertyTwo": "value", 
      "ObjectPropertyThree": "value", 
      "ObjectPropertyFour": "value", 
     }, 
    ], 
    "KeyTwo": [ 
     { 
      "ObjectPropertyOne": "value", 
      "ObjectPropertyTwo": "value", 
      "ObjectPropertyThree": "value", 
      "ObjectPropertyFour": "value", 
     }, 
     { 
      "ObjectPropertyOne": "value", 
      "ObjectPropertyTwo": "value", 
      "ObjectPropertyThree": "value", 
      "ObjectPropertyFour": "value", 
     }, 
     { 
      "ObjectPropertyOne": "value", 
      "ObjectPropertyTwo": "value", 
      "ObjectPropertyThree": "value", 
      "ObjectPropertyFour": "value", 
     }, 
    ], 
    "KeyThree": [ 
     { 
      "ObjectPropertyOne": "value", 
      "ObjectPropertyTwo": "value", 
      "ObjectPropertyThree": "value", 
      "ObjectPropertyFour": "value", 
     }, 
     { 
      "ObjectPropertyOne": "value", 
      "ObjectPropertyTwo": "value", 
      "ObjectPropertyThree": "value", 
      "ObjectPropertyFour": "value", 
     }, 
     { 
      "ObjectPropertyOne": "value", 
      "ObjectPropertyTwo": "value", 
      "ObjectPropertyThree": "value", 
      "ObjectPropertyFour": "value", 
     } 
    ] 
} 
+0

你的编辑是不妥当的题外话,并回滚正确 - 由主持人。我现在锁定这个以防止进一步编辑。当锁定到期时,*不要*重新加入你的离题评论。 –

回答

2

如何:

for (var key in data) { //data being the object 
    for (var i = 0; i < data[key].length; i++) { 
     console.log(data[key][i].ObjectPropertyTwo); 
    } 
} 

演示:http://jsfiddle.net/tymeJV/csFms/

+0

我的歉意是我的回应迟缓,我确认你的答案解决了问题,谢谢。 –

1
function listNestedProperties(object, property) { 
    return Object.keys(object).reduce(function(memo, key) { 
    object[key].forEach(function(o2) { 
     memo.push(o2.ObjectPropertyTwo); 
    }); 
    return memo; 
    }, []); 
} 

listNestedProperties(yourObject, 'ObjectPropertyTwo'); 
// => ["value", "value", "value", "value", "value", "value", "value", "value", "value"] 
+0

谢谢@maerics,但这没有奏效,http://jsfiddle.net/mrbilljsf/Pcrnz/2/。 –

+0

@ id.ot:哎呀,有一个错字;看到更新的答案。 – maerics

+0

谢谢@maerics,这个作品很棒! –