2012-06-13 4 views
0

У меня есть следующие JSonAppend новые свойства существующего объекта JSON

{"groupOp":"AND","rules":[{"field":"company","op":"cn","data":"School"}]} 

Я хочу, чтобы придать новые свойства в каждый элемент в массиве правил, чтобы получить что-то вроде этого.

{"groupOp":"AND","rules":[{"field":"company","op":"cn","data":"School", "dataType": "Organization", "dataProperty": "name"}]} 

План состоит в том, чтобы пройти через массив, называемый правилами, и динамически добавлять правильные значения, используя следующее.

var filters = $.parseJSON(postData.filters); 
var rules = filters.rules; 
for (i = 0; i < rules.length; i++) { 
    rules[i] 
} 

У меня есть доступ к правилам по индексу "i". Я попробовал rules[0].push({dataType: "Organization"}); , пожалуйста, помогите.

+2

[Там нет такого понятия, как "JSON объект."] (Http://benalman.com/news/2010/03/theres-no-such-thing-as-a-json/) –

+0

Итак, 'rules [i]' будет единственным объектом, например '{" dataType ":" Organization "}' или массивом таких объектов? –

ответ

1

Это вы что искали?

var filters = $.parseJSON(postData.filters); 
var rules = filters.rules; 
for (i = 0; i < rules.length; i++) { 
    rules[i].dataType = "Organization"; 
} 
4

rules[i] - это объект, а не массив, поэтому нет способа вызова push. Используйте property assignment.

// ... 
rules[i].dataType = "Organization"; 
// ... 
+0

Скупил меня, пока моя мышь двигалась к кнопке! – Mathletics

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