将新属性附加到现有JSON对象

时间:2012-06-13 17:51:28

标签: javascript

我有以下json

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

我想在rules数组中的每个项目中注入新属性,以获得类似的结果。

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

计划是循环遍历名为rules的数组,并使用以下内容动态添加正确的值。

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 个答案:

答案 0 :(得分:4)

rules[i]是一个对象,而不是一个数组,因此没有push方法可以调用。使用property assignment

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

答案 1 :(得分:1)

这是你在找什么?

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