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

时间:2016-03-15 10:14:12

标签: javascript json node.js javascript-objects

我在node.js中有2个json对象

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' ] },
};

如何在node.js中完成?

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

使用下划线模块。

var _under = require("underscore");

z= _under.extend(x, y);

1 个答案:

答案 0 :(得分:0)

您可以迭代键并将属性分配给新对象。

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>');