2013-09-27 6 views
-2

Как мы можем указать значение свойства (например, «ObjectPropertyTwo») в следующем массиве объектов JSON?Значение свойства объекта объекта 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: oops, была опечатка; см. обновленный ответ. – maerics

+0

Спасибо @maerics, это отлично работает! –

Смежные вопросы