2013-09-27 123 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,這個作品很棒! –