从响应对象获取请求正文

Cod*_*ody 6 buffer httpresponse httprequest node.js

我正在尝试通过响应对象检索请求的正文.

var request = require('request');

request({
    ...
    body: {
        foo: 'bar'
    }
}, function(err, res, body) {
    var reqBody = res.request.body;
});
Run Code Online (Sandbox Code Playgroud)

但是请求体现在是一个缓冲区.如何将其转换回JavaScript对象?

注意:在发出http请求之前,我无法将请求体存储在范围较大的变量中.

Cod*_*ody 5

搞清楚了,比我想象的简单多了。

var reqBody = res.request.body.toString();
reqBody = JSON.parse(reqBody);
Run Code Online (Sandbox Code Playgroud)

首先将其转换为 JSON,然后将 JSON 转换为 JavaScript 对象。

  • body 上的“toString”不起作用,我必须使用 JSON.stringify (2认同)