Un point éclair que j'ai découvert accidentellement lors du développement de NodeJs
Dans des circonstances normales, il n'y a aucun problème après avoir lu les caractères du fichier JSON puis passé JSON.parse, tant que le format n'est pas faux
Parfois, lorsque l'on s'assure que le format JSON est correct, une exception de jeton inattendue se produit toujours
Après enquête, il a été constaté qu'il y a des caractères Unicode qui ne seront pas affichés
Il a été déterminé comme étant un problème UTF-8. Il existe une version dom de utf-8 et la version sans DOM, généralement l'éditeur l'enregistrera sous utf8
avec DOM par défaut si ce n'est pas délibérément. set. La solution consiste d'abord à convertir le fichier lu en binaire, puis à récupérer le symbole DOM et à supprimer la
partie implémentation du code
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'); }
Pour plus d'articles connexes sur les sujets nécessitant une attention particulière lorsque NodeJs. lit et formate les fichiers JSON, veuillez faire attention au site Web PHP chinois !