在 node.js 中将 2 个 json 对象合并为一个

Combine 2 json objects into a single one in node.js

本文关键字:一个 合并 json js node 中将 对象      更新时间:2023-09-26

我在节点中有 2 个 json 对象.js

x= { '20': { length: '2', payload: [ '11', '22' ] } };
y= { '23': { length: '2', payload: [ 'ef', 'ab' ] } };

我想将它们结合起来,使它们成为;

z= 
{
    '20': { length: '2', payload: [ '11', '22' ] },
    '23': { length: '2', payload: [ 'ef', 'ab' ] },
};

如何在节点.js中完成此操作?


编辑:我自己找到了一个简单的答案。无法回答,因为问题已被标记为重复。

使用下划线模块。

var _under = require("underscore");
z= _under.extend(x, y);

您可以循环访问键并将属性分配给新对象。

var x = { '20': { length: '2', payload: ['11', '22'] } },
    y = { '23': { length: '2', payload: ['ef', 'ab'] } },
    object = function (x, y) {
        var r = {};
        function set(k) {
            r[k] = this[k];
        }
        Object.keys(x).forEach(set, x);
        Object.keys(y).forEach(set, y);
        return r;
    }(x, y)
document.write('<pre>' + JSON.stringify(object, 0, 4) + '</pre>');