Json - 在数组元素之间插入一个新对象

时间:2015-10-31 06:57:02

标签: javascript arrays json

我有一个json对象,当使用foreach输出循环时输出如下:

{"Comment": {"id":"1","post_id":"31","created":"14263241"} , "User": {"fname":"Test","lname":"Test2"} } 

{"Comment": {"id":"2","post_id":"32","created":"14263257"} , "User": {"fname":"Lionel","lname":"Messi"} } 

创建的地方是时间戳。

使用来自另一个数组的条件,我希望能够在第二个数组中插入一个新元素,使它变成这样:

{"Comment": {"id":"2","post_id":"32","created":"14263257"} , "User": {"fname":"Lionel","lname":"Messi"}, "Status":{"status":"add","userid":"10"} } 

其中"Status":{"status":"add","userid":"10"}来自另一个json对象。

任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:2)

我假设您的JSON格式为

var json = [
  {"Comment": {"id":"1","post_id":"31","created":"14263241"} , "User": {"fname":"Test","lname":"Test2"} }, 
  {"Comment": {"id":"2","post_id":"32","created":"14263257"} , "User": {"fname":"Lionel","lname":"Messi"} } 
];

你的另一个阵列"拥有这样的项目

var otherJson = {"id":"2", "Status":{"status":"add","userid":"10"} } 

然后迭代第一个json中的每个元素,并在条件匹配时从Status插入otherJson

for (var index in json) {
    if (json[index].Comment.id == otherJson.id) {
        json[index].Status = otherJson.Status;
    }      
}  

Comment.id 2的项目现在使用Status进行了丰富。