如何在javascript中合并这些类型的2个json

时间:2016-06-23 18:47:52

标签: javascript json

  • 输入中的第一个JSON

    var obj1 = [{
                    "name":"manu",
                    "age":23,
                    "occupation":"SE"
                },
                {   
                    "name":"test",
                    "age":22,
                    "occupation":"TE"
                }
               ];
    
    • 输入中的第二个JSON

       var obj2 = [{
                  "age":23,
                  "name":"manu",
                  "gender":"male"
              },
              {   
                  "age":22,
                  "name":"test",
                  "gender":"male"
              }
             ];
      
    • 合并后需要生成的JSON

      var result = [{
                  "name":"manu",
                  "age":23,
                  "occupation":"SE",
                  "gender":"male"
              },
              {   
                  "name":"test",
                  "age":22,
                  "occupation":"TE",
                  "gender":"male"
              }
             ];
      
    • 请参阅按JSON排列键的安排

    • 它们在对象
    • 中的顺序(年龄和名称)不同

2 个答案:

答案 0 :(得分:1)

您可以使用特殊回调将数组合并到具有匹配.trim()和所有其他属性的新数组result

key

答案 1 :(得分:0)

您有两个数组,其中数组中的每个索引都是一个对象。 如果数组索引在一起,如在您的示例中,则只需循环并分配。

var length = obj1.length;
for( var idx = 0; idx < length; idx++ )
{
  var tmpObj = obj2[ idx ];
  Object.keys(tmpObj).forEach(function(key,index)
  {
     // key: the name of the object key
     // index: the ordinal position of the key within the object 

     // create new object property based upon the variable key
     // and assign it the corresponding value from obj2
     obj1[ idx ][ key ] = tmpObj.key;
  });
}

Iterate over Object

Using variables as key names