在 NodeJS 中通过 HTTP 请求获取 JSON [英] Get a JSON via HTTP request in NodeJS

查看:34
本文介绍了在 NodeJS 中通过 HTTP 请求获取 JSON的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

Here is my model with a JSON response:

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?

Here I get it via http.request. Why do I receive (data) a string and not a 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?

推荐答案

http 以字符串的形式发送/接收数据......事情就是这样.您希望将字符串解析为 json.

http sends/receives data as strings... this is just the way things are. You are looking to parse the string as json.

var jsonObject = JSON.parse(data);

如何使用 Node.js 解析 JSON?

这篇关于在 NodeJS 中通过 HTTP 请求获取 JSON的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆