各位, 以下功能似乎部分有效。从 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();
};
最佳答案
已解决,将 API 和管理计算机上的 Node 升级到 v0.10.23 后,问题消失了。
关于Javascript getJSON 函数未检索完整结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20767423/