gpt4 book ai didi

javascript - 在没有 jQuery 的情况下连接两个 JSON 对象

转载 作者:行者123 更新时间:2023-12-05 01:33:07 26 4
gpt4 key购买 nike

我有两个 JSON 对象,我想用 Angular 或纯 JavaScript(无 jQuery)从中创建一个对象。 Angular.extend 似乎没有给我想要的东西,而是做了更多的合并。

{
"field1-1": 1,
"field1-2": 2,
"field1-3": 3,
"field1-4": "four",
"field1-5":
{
"field1-1-1": 5.1,
"field1-1-2": 5.2
}
}

{
"field2-1": 21,
"field2-2": 22,
"field2-3": "three",
"field2-4":
{
"field2-1-1": 4.1,
"field2-1-2": 4.2
}
}

我希望最终结果是:

{
"field1-1": 1,
"field1-2": 2,
"field1-3": 3,
"field1-4": "four",
"field1-5":
{
"field1-1-1": 5.1,
"field1-1-2": 5.2
}
},
{
"field2-1": 21,
"field2-2": 22,
"field2-3": "three",
"field2-4":
{
"field2-1-1": 4.1,
"field2-1-2": 4.2
}
}

最佳答案

所以你想要一个数组:

var array = [object1, object2];

var object1 = { "field1-1": 1, "field1-2": 2, "field1-3": 3, "field1-4": "four", "field1-5": { "field1-1-1": 5.1, "field1-1-2": 5.2 } },
object2 = { "field2-1": 21, "field2-2": 22, "field2-3": "three", "field2-4": { "field2-1-1": 4.1, "field2-1-2": 4.2 } },
array = [object1, object2];

document.write('<pre>' + JSON.stringify(array, 0, 4) + '</pre>');

如果你想得到一个单一的对象,那么你可以使用这个建议。

它用对象遍历数组,然后遍历对象的键。原始对象的值被分配给新对象的相应属性。

var object1 = { "field1-1": 1, "field1-2": 2, "field1-3": 3, "field1-4": "four", "field1-5": { "field1-1-1": 5.1, "field1-1-2": 5.2 } },
object2 = { "field2-1": 21, "field2-2": 22, "field2-3": "three", "field2-4": { "field2-1-1": 4.1, "field2-1-2": 4.2 } },
object = function (array) {
var o = {};
array.forEach(function (a) {
Object.keys(a).forEach(function (k) {
o[k] = a[k];
});
});
return o;
}([object1, object2]);

document.write('<pre>' + JSON.stringify(object, 0, 4) + '</pre>');

关于javascript - 在没有 jQuery 的情况下连接两个 JSON 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36187712/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com