我使用Node来请求API并解析返回的JSON。当我多次请求API时,节点崩溃并报告SyntaxError: Unexpected token
错误。该错误位于JSON对象的字符串中的字符处。我发现字符串很长(用utf-8编码的60000多个字符)。这个问题是由太长的字符串引起的吗?它是如何发生的?
JSON字符串可以在这里看到: http://www.liyan93.com/mdnotes/JinquanquanIssues/errorData.json
答案 0 :(得分:0)
在传输完整字符串之前,当另一端终止连接/切断时,我遇到过这种情况。也许这可能是原因?
提示:最新的Node在json解析错误时提供了一些更有用的错误,显示了字符串的一部分。您还可以使用jju
作为解析器,它甚至可以提供更好的错误消息。
答案 1 :(得分:0)
https.get(url, (resp) => {
let data = '';
// A chunk of data has been recieved.
resp.on('data', (chunk) => {
data += chunk;
});
// The whole response has been received. Print out the result.
resp.on('end', () => {
const jsonDATA = JSON.parse(data).parse;
var jsonText = jsonDATA.text;
console.log(jsonText);
});
});