Javascript getJSON函数无法检索完整结果

时间:2013-12-24 22:34:03

标签: javascript node.js

民间,   以下功能似乎部分起作用。来自API的返回JSON似乎被切断了,随后的JSON.parse会中断。

输出:

  {
    "license": {
      "S":

undefined:1091
      "S":
           ^
SyntaxError: Unexpected end of input
    at Object.parse (native)
    at IncomingMessage.<anonymous> (/blah/base.js:112:32)
    at IncomingMessage.EventEmitter.emit (events.js:117:20)
    at _stream_readable.js:920:16
    at process._tickCallback (node.js:415:13)

功能:

getJSON = function(options, onResult){
    //console.log("rest::getJSON");
    var prot = options.port == 8443 ? https : http;
    var req = prot.request(options, function(res)
    {
        var output = '';
        console.log(options.host + ':' + res.statusCode);
        res.setEncoding('utf8');

        res.on('data', function (chunk) {
            output += chunk;
        });

        res.on('end', function() {
            console.log("BREAK", output)
            var obj = JSON.parse(output);
            onResult(res.statusCode, obj);
        });
    });
    req.on('error', function(err) {
        res.send('error: ' + err.message);
    });
    req.end();
};

1 个答案:

答案 0 :(得分:0)

已解决,将API和管理员计算机上的节点升级到v0.10.23后,问题就消失了。