簡體   English   中英

Node.js:字符串太長時出現 JSON.parse() 錯誤

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM