繁体   English   中英

节点http.get解析JSON正文

[英]node http.get parse JSON body

我正在尝试从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));
        });
    })
}

我已经看到用Node.js调用JSON API,但是我认为它不适用,因为我已经正确地获取了主体(尽管对象以:undefined {开头),callback(body)仍显示OK。 有什么建议么? 我应该只剪掉身体细绳的“未定义”部分吗? 一定有我想念的东西! 谢谢!

问题是你


 var body;
 ...
 body += chunk;

声明了body,但其值为“ undefined”。

对于第一个主体+ =“某物”,它转换为主体=未定义+“某物”。

改变


 var body;


 var body = "";

应该解决问题。

希望这可以帮助,

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM