如何在Express中加入2个json对象

时间:2018-08-15 14:15:46

标签: json node.js express

以下代码在javascript env中运行时有效。但是当我在Express中执行相同的操作时,该方法将不起作用。任何帮助将不胜感激。

function joinJson(dest,src){
    for(var key in src){
        dest[key] = src[key];
    }
    return dest;
}

j = {currentTime : "time"};

router.get('/:id',(req,res) => {
    Timer.findById(req.params.id)
    .then(timer => {
        res.send(joinJson(timer,j));
    })
    .catch(err =>  res.status(404))
});

是否有内置函数来连接两个JSON对象?

2 个答案:

答案 0 :(得分:2)

您可以使用Object.assign合并两个对象中的键

const object1 = {
  a: 1,
  b: 2,
  c: 3
};

const object2 = {
	d: 4,
	e: 5
}

const object3 = Object.assign(object1, object2);

console.log( object3);

答案 1 :(得分:0)

您可以在ES6中使用传播语法

const timer = {
  id: 1
}
const j = { currentTime: 'time' };
const union = {...timer, ...j};

console.log(union);

因此在您的代码中,它将变为

j = {currentTime : "time"};

router.get('/:id',(req,res) => {
    Timer.findById(req.params.id)
    .then(timer => {
        res.send({
          ...timer,
          ...j
        });
    })
    .catch(err =>  res.status(404))
});

希望有帮助