搜索

首页  >  问答  >  正文

node.js - express怎么拼接json返回?

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

大家讲道理大家讲道理2780 天前849

全部回复(2)我来回复

  • 大家讲道理

    大家讲道理2017-04-17 14:48:58

    最省事的方法:

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

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

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

    回复
    0
  • ringa_lee

    ringa_lee2017-04-17 14:48:58

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

    这样返回的对象就是

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

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

    回复
    0
  • 取消回复