我正在尝试从http.get解析JSON主体。我知道JSOn对象是有效的,因为我可以成功评估:
var json = document.body.innerText;
obj = JSON.parse(json);
但是,此代码返回错误:
undefined:1
undefined{
Syntax error, Unexpected token u
我的节点代码:
function getCategories(callback){
var body;
var urlCats = "http://...";
process.send(urlCats);
http.get(urlCats, function(res){
res.on('data', function (chunk) {
body += chunk;
});
res.on('end', function () {
callback(JSON.parse(body));
});
})
}
我已经看过Calling a JSON API with Node.js但是我认为它不适用,因为我已经正确地获取了正文(回调(正文)打印正常,尽管对象以:undefined {)开头。有什么建议?我应该只切断身体弦线的“未定义”部分吗?必须有一些我想念的东西!谢谢!
答案 0 :(得分:4)
问题是你的
var body;
...
body += chunk;
声明了body,但其值为'undefined'。
因为第一个身体+ =“某事”转化为身体=未定义+“某事”。
改变
var body;
到
var body = "";
应该解决问题。
希望这有帮助,