【问题标题】:node http.get parse JSON body节点 http.get 解析 JSON 正文
【发布时间】:2013-11-11 18:53:29
【问题描述】:

我正在尝试从 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{ 开头,但回调(正文)打印正常)。有什么建议么?我应该剪掉我身体字符串的“未定义”部分吗?一定有我想念的东西!谢谢!

【问题讨论】:

    标签: javascript json node.js http


    【解决方案1】:

    问题是你的

    var body; ... body += chunk;

    body 已声明,但值为 'undefined'。

    对于第一个 body += "something" 转换为 body = undefined + "something"。

    变化

    var body;

    var body = "";

    应该能解决问题。

    希望对你有帮助,

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-07-28
      • 2016-09-14
      • 2018-06-25
      • 1970-01-01
      • 2020-12-15
      • 1970-01-01
      相关资源
      最近更新 更多