javascript 如何配置Express响应对象自动为JSON添加属性?

avwztpqn  于 2023-05-27  发布在  Java
关注(0)|答案(1)|浏览(157)

我有一个对象:

var obj = { "stuff": "stuff" }

在Express中,我把它发送给客户端,这样:

res.json(obj);

有没有一种方法可以配置响应对象,使其自动向它生成的JSON添加属性?例如,要输出:

{
  "status": "ok",
  "data": { "stuff": "stuff" }
}

谢谢!

ryevplcw

ryevplcw1#

一旦数据被添加到流中,重新 Package 就太晚了,所以必须在之前进行。
或者简单地用一个函数:

res.json(wrap(obj));

您还可以添加自己的JSON方法

express.response.wrap_json = function(obj) {
  this.json(wrap(obj));
};

所以你现在可以

res.wrap_json(obj);

或者您可以用自己的实现替换expressjson实现

var original = express.response.json;
express.response.json = function(obj) {
  original.call(this, wrap(obj));
};

如果你想覆盖所有的json调用,我只会使用最后一个。

相关问题