express怎么拼接json返回?

我用nodejs写服务器,如果我想把我从数据库里查收的对象返回去直接用res.json(doc),但是如果我想在json中加一个字段message:sucess。表示成功怎么写?
就是我想把所有的请求返回的json中都带有message字段这个怎么加?

阅读 10.9k
2 个回答

最省事的方法:

res.json(JSON.stringify({data: doc, message: success}))

但总是这么写会很烦,你会逐步的优化你的写法

function toJSON (data = {}, message = '', status = '', code = '') {
    return {
        JSON.stringify({ data, message, status, code })
    }
}

res.json支持对象, 直接这么写res.json({data, message: 'success'})就行. 如果用字符串, 最好用res.send, res.end, 要不然res.json还得判断类型.

这样返回的对象就是

{
    message: 'success',
    data: {} // 原有data.
}

建议这么做, 外面包装一层, 你要是直接在data上加message字段, 万一data本身也有message字段, 你不就覆盖了么.

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题