在Javascript中合并两个json对象?

时间:2013-02-26 11:16:36

标签: javascript json

你有没有在javascript中合并两个js ??

问题:

a={id:123,name:john,status:success};
b={id:123,status:inprocess,transId:245};

输出json应该像

{id:123,name:john,status:success,transId:245};

a中的所有值都应覆盖b中的值,并且不常见的键/值应出现在输出json中。

我尝试了一些递归选项,但是cudnt实现了输出。

3 个答案:

答案 0 :(得分:6)

您的ab变量无效json。

<script>
//change your a and b variable to this.
 a={id:123,name:'john',status:'success'}; 
 b={id:123,status:'inprocess',transId:245};
$(document).ready(function(){

  $.extend(a,b);

});
</script>

a将具有类似

的结构
{
    id: 123
    name: "john"
    status: "inprocess"
    transId: 245

}

我使用过jquery api

更新

没有jquery

   a={id:123,name:'john',status:'success'}; 
   b={id:123,status:'inprocess',transId:245};

  extend(a,b);

其中,扩展功能是:

 function extend(a, b){
    for(var key in b)
        if(b.hasOwnProperty(key))
            a[key] = b[key];
    return a;
 }

ref1ref2ref3

答案 1 :(得分:0)

很简单

for (var p in a)
   b[p] = a[p];

答案 2 :(得分:-1)

foreach ($result as $item) {
    $item_name = trim($item->item_name, '"'); // Assign it to a value
    echo $item_name." ".$item->qty."<br >";
}

--->注意:对象z具有y的c属性