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); } }); };
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();
How can I get a 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);
How to parse JSON using Node.js?
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With