0

JavaScriptで2つのjsonをマージしましたか??

問題:

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 に表示される必要があります。

私はいくつかの再帰的なオプションを試しましたが、出力を達成できませんでした。

4

3 に答える 3

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

于 2013-02-26T11:24:36.717 に答える
0

それは簡単です

for (var p in a)
   b[p] = a[p];
于 2013-02-26T11:20:59.287 に答える