NodeJ 개발 중 우연히 발견한 라이트닝 포인트
일반적인 상황에서는 JSON 파일에서 문자를 읽어온 후 JSON.parse를 전달하면 형식이 잘못되지 않는 한 문제가 없습니다
JSON 형식이 올바른지 확인했는데도 예상치 못한 토큰 예외가 계속 발생하는 경우가 있습니다
조사 결과 표시되지 않는 유니코드 문자가 있는 것으로 확인되었습니다
그래서 UTF-8 문제인 것으로 확인되었습니다. 그리고 DOM이 없는 버전은 일반적으로 의도하지 않은 경우 기본적으로 DOM과 함께 utf8
으로 저장합니다. 해결 방법은 먼저 읽은 파일을 바이너리로 변환한 다음 DOM 기호를 검색하고
코드 구현 부분
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'); }
을 삭제하는 것입니다. 포맷 시 주의 사항에 대한 자세한 관련 기사는 다음과 같습니다. NodeJs가 읽는 JSON 파일은 PHP 중국어 웹사이트를 주목해주세요!