Ein Blitzpunkt, der versehentlich bei der Entwicklung von NodeJs entdeckt wurde
Unter normalen Umständen gibt es kein Problem, nachdem die Zeichen aus der JSON-Datei gelesen und dann JSON.parse übergeben wurden, solange das Format nicht falsch ist
Manchmal tritt beim Sicherstellen, dass das JSON-Format korrekt ist, immer noch die unerwartete Token-Ausnahme auf
Nach einer Untersuchung wurde festgestellt, dass es Unicode-Zeichen gibt, die nicht angezeigt werden
So ist es Es wurde festgestellt, dass es sich um ein UTF-8-Problem handelt. Und die DOM-freie Version speichert sie standardmäßig als utf8
mit DOM Die Lösung besteht darin, zuerst die gelesene Datei in eine Binärdatei umzuwandeln, dann das DOM-Symbol abzurufen und den
-Code zu löschen. Implementierungsteil
function readText(pathname) { var bin = fs.readFileSync(pathname); if (bin[0] === 0xEF && bin[1] === 0xBB && bin[2] === 0xBF) { bin = bin.slice(3); } return bin.toString('utf-8'); }
Weitere verwandte Artikel zu Themen, die bei der Formatierung beachtet werden müssen JSON-Dateien, die von NodeJs gelesen werden, achten Sie bitte auf die chinesische PHP-Website!