[英]Node.js: JSON.parse() error when strings are too long
我正在使用 Node 請求 API 並解析返回的 JSON。 當我多次請求 API 時,節點崩潰並報告SyntaxError: Unexpected token
error。 錯誤位於 JSON 對象的字符串中的一個字符處。 我發現該字符串很長(使用 utf-8 編碼的 60000+ 個字符)。 這個問題是不是字符串太長導致的? 它是如何發生的?
JSON 字符串可以在這里看到:http ://www.liyan93.com/mdnotes/JinquanquanIssues/errorData.json
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);
});
});
當連接被另一端終止/在傳輸完整字符串之前切斷時,我遇到過這種情況。 也許這可能是原因?
提示:最新的 Node 在 json 解析錯誤時提供了一些更有用的錯誤,顯示字符串的一部分。 你也可以使用jju
作為解析器,它提供了更好的錯誤信息。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.