이 도구에 대하여
JS 객체를 엄격한 JSON으로 변환 도구는 느슨한 JavaScript 또는 JSON5 스타일의 객체 리터럴을 엄격하고 유효한 JSON으로 복구합니다. 손으로 작성한 토크나이저 위에 구축되어 eval이나 new Function을 절대 사용하지 않으므로, 엄격한 Content Security Policy 아래에서 안전하고 신뢰할 수 없는 텍스트를 붙여넣기에도 안전합니다. 모든 것이 브라우저에서 실행됩니다.
실제 JSON이 거부하는 것들을 받아들입니다. 인용 없는 식별자 키, 작은따옴표 문자열, ] 또는 } 앞의 후행 쉼표, // 라인 주석과 /* 블록 */ 주석, 16진수(0xFF), 8진수와 2진수 리터럴, 선두 플러스와 선두 점 숫자(+1, .5), 그리고 undefined, NaN, Infinity 값입니다. 키는 큰따옴표로 다시 인용되고, 문자열은 올바르게 다시 이스케이프되며, 주석과 후행 쉼표는 제거되고, 숫자는 순수 JSON 숫자로 정규화됩니다. undefined 처리 방식(null로 변환 또는 키 삭제)과 유한하지 않은 숫자 처리 방식(null로 변환 또는 오류 발생)을 선택한 다음, 값은 선택한 들여쓰기(스페이스 2칸, 4칸, 탭, 또는 최소화)로 JSON.stringify를 통해 다시 직렬화됩니다.
입력을 파싱할 수 없으면 도구는 첫 번째 구문 오류를 그 줄과 열과 함께 보고하여 문제를 빠르게 찾을 수 있게 합니다. 이는 느슨한 입력을 단순히 거부하는 엄격한 JSON 포매터를 보완합니다. 여기서 목표는 복사한 콘솔 출력, 설정 스니펫, 손으로 편집한 객체를 어떤 파서든 받아들일 JSON으로 살려내는 것입니다.