2016-04-05 4 views
0

Я пытаюсь объединить/объединить два объекта json, чтобы получить один последний объект json (объединенный объект). Я пробовал fiddle, но я получаю как: [object Object], если я использую $ .extend и ошибку Uncaught TypeError: testjson1.concat is not a function, если я использую cancat. Пожалуйста, помогите мне, как я могу получить свой требуемый объект json, используя javascript или jquery или angularJS?Как слить два json-объекта, чтобы получить один объект json?

+0

Не начеку. Попробуйте запустить его в консоли, и он должен работать. Или просто 'JSON.stringify (finalObject)' для преобразования объекта в строку. – void

+0

first one _is_ хотите, чтобы вы хотели – dandavis

+2

https://jsfiddle.net/kuunpmx9/2/ –

ответ

1

Возможно, вы захотите преобразовать JSON в объекты javascript, а затем выполните слияние так и конвертируйте обратно в JSON.

How can I merge properties of two JavaScript objects dynamically?

В основном перебирать ключи и назначить их.

var obj1 = JSON.parse(testjson1), 
    obj2 = JSON.parse(testjson2) 

for (var attrname in obj2) { obj1[attrname] = obj2[attrname] } 

var finaljsonresult = JSON.stringify(obj1) 

Но это всего лишь пик подхалима, возможно, вы захотите увидеть связанный ответ для получения дополнительной информации.

-2
The Extend keyword in jquery making stringify: 
    var object1 = { 
       apple: 0, 
       banana: { weight: 52, price: 100 }, 
       cherry: 97 
       }; 
     var object2 = { 
         banana: { price: 200 }, 
         durian: 100}; 
     var ss = $.extend(object1, object2); 
     alert(JSON.stringify(ss)); 
+0

Используйте соответствующее форматирование для кода при отправке комментариев или ответов. – KShirish

1

Поскольку этот вопрос помечен AngularJS, почему не превращающих JSONs на объекты JavaScript с помощью angular.fromJson, а затем объединить их с angular.merge?

В отличие от angular.extend, angular.merge рекурсивно спускается в свойства объекта исходных объектов, выполняет глубокую копию.

0

var obj1 = { 
 
     'a': 'aa', 
 
     'b': 'bb', 
 
     'c': 'cc' 
 
    }, 
 
    obj2 = { 
 
     'a': 'aa', 
 
     'd': 'dd', 
 
     'e': 'ee' 
 
    }; 
 

 
for (var key in obj2) { 
 
    obj1[key] = obj2[key] 
 
} 
 

 
var res = JSON.stringify(obj1); 
 
alert(res);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

+0

Для этого вам не нужен jQuery. – Qwerty

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