2013-02-26 2 views
0

У вас объединены два jsons в javascript ??Слияние двух json-объектов в скрипте Java?

Проблема:

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

Выход JSON должен быть как

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

Все значения из должны переопределить те в б, а также необычные ключ/значения должны отображаться в выходном формате JSON.

Я опробовал некоторые рекурсивные варианты, но cudnt acheive output.

+2

Это не JSON, то есть объекты Javascript. JSON - это тестовый формат для представления объектов. – Guffa

+0

попробуйте использовать .extend() –

+0

Это задано так много раз: http://stackoverflow.com/questions/4154712/javascript-extending-an-object-question http://stackoverflow.com/questions/10430279/ javascript-object-extend http://stackoverflow.com/questions/5585168/javascript-extending-object-with-multiple-properties – oleq

ответ

6

ваш a и b переменная не действует 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; 
} 

ref1, ref2, ref3

+0

Вы используете там библиотеку? –

+0

есть. Я использовал jQuery API –

+0

без jquery. Я хочу манипулировать с помощью plz !!! –

0

Это просто

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

, но как насчет вложенных jsons, как я могу получить результат? –

+0

В этом случае вам понадобится рекурсия для вложенных объектов. Используйте instanceof для его обнаружения. – Damask

Смежные вопросы