我正在尝试合并/组合两个json对象以获取一个最终的json对象(合并对象)。我已经尝试了fiddle,但是如果我使用$。{1}},如果我使用cancat,则使用$ .extend和[object Object]
错误。请帮助我如何使用javascript或jquery或angularJS获取我所需的json对象?
答案 0 :(得分: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)
但这只是一个潜行高峰期,您可能希望查看链接的答案以获取更多信息。
答案 1 :(得分:1)
由于此问题标有 AngularJS ,为什么不使用angular.fromJson将JSON转换为JavaScript对象,然后将它们与angular.merge合并?
与angular.extend不同,angular.merge以递归方式下降到源对象的对象属性中,执行深层复制。
答案 2 :(得分: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>
答案 3 :(得分:-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));