這裏是我的模型的JSON響應:獲得通過HTTP請求中的JSON的NodeJS
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?
JSON是一個序列化。只有JSON纔是字符串,否則還沒有被解析爲JavaScript。你在找'JSON.parse()'嗎? –
這就是它。感謝Matt –
我認爲'data'事件每次被調用多次,其參數是一個字符串數據的塊。在這種情況下返回的'data'是不是很可能會被破壞JSON,因爲它只是整個文檔的一小部分?我認爲你需要緩衝數據,然後在你的'end'事件中使用'JSON.parse()'。 – Sukima