一尘不染

通过NodeJS中的Http Request获取JSON

node.js

这是我的带有json响应的模型:

exports.getUser = function(req, res, callback) {
    User.find(req.body, function (err, data) {
        if (err) {
            res.json(err.errors);
        } else {
            res.json(data);
        }
   });
};

在这里,我通过http.request得到它。为什么我接收(数据)字符串而不是json?

 var options = {
  hostname: '127.0.0.1'
  ,port: app.get('port')
  ,path: '/users'
  ,method: 'GET'
  ,headers: { 'Content-Type': 'application/json' }
};

var req = http.request(options, function(res) {
  res.setEncoding('utf8');
  res.on('data', function (data) {
       console.log(data); // I can't parse it because, it's a string. why?
  });
});
reqA.on('error', function(e) {
  console.log('problem with request: ' + e.message);
});
reqA.end();

如何获取json?


阅读 1038

收藏
2020-07-07

共1个答案

一尘不染

http以字符串形式发送/接收数据…这就是事实。您正在寻找将该字符串解析为json。

var jsonObject = JSON.parse(data);
2020-07-07