nodeJS:在现有JSON对象内创建一个数组并注入其中

时间:2015-03-10 04:04:35

标签: json node.js

假设我有一个以这种方式构建的JSON对象:

var obj = {
    "field1": "value1",
    "field2": "value2"
};

我有一个不同的对象:

var newObj = {"email": "you@hoo.com"};

如果我想将newObj的内容注入到obj中,最终会以这样的方式注入:

{
  "field1": "value1",
  "field2": "value2"
  "to": [{
            "email": "you@hoo.com",
            "defaultValue": "111"       <-- this is always constant
        }]
};

怎么办呢?

3 个答案:

答案 0 :(得分:1)

当你说JSON时,你暗示它是JSON,而不是javascript对象。 JSON是一个序列化的js对象。你只有一个对象。数组是一个对象。数组对象具有方法Array.prototype.push。这允许您将单个值推送到数组。要加入另一个方法concat,它会将数组与另一个数组或值连接起来。

Array.prototype.push(...)

var arr=[1,2];
arr.push(3);
console.log(arr); //outputs: [1, 2, 3]

Array.prototype.concat(...)

var arr=[1,2];
var result=arr.concat([3,4]);
result=result.concat(5);
console.log(result); //outputs: [1, 2, 3, 4, 5]

答案 1 :(得分:0)

obj.to = [];
newObj.defaultValue = "111";
obj.to.push(newObj);

看看是否适用于你。

答案 2 :(得分:0)

你可以试试这个:

obj['to']=newObj;
obj['to']['defaultValue']="111";