JSON 포맷터 & 유효성 검사기
압축된 JSON 줄바꿈 정렬(Beautify), 최소화(Minify), 문법 오류 위치 점프, 배열 CSV 내보내기
지금 계산한 분들이 함께 많이 사용하는 도구
사용 방법 및 안내
JSON 포맷터 & 유효성 검사기는 브라우저 표준 JSON.parse와 JSON.stringify를 사용하여 RFC 8259 규격의 JSON 데이터를 실시간 유효성 검사하고, 2칸 또는 4칸 들여쓰기 정렬 및 단일 라인 압축을 수행합니다. 모든 파싱과 CSV 변환 연산은 외부 서버 전송 없이 로컬에서 100% 안전하게 처리됩니다.
RFC 8259 어휘 분석 및 오류 위치 산출 알고리즘
구문 파싱 및 좌표 역산은 표준 자바스크립트 엔진 스펙을 엄격히 준수합니다:
- V8 오류 위치 좌표 매핑: Chromium 엔진이 반환하는 0-기반 UTF-16 문자 인덱스(at position N)를 개행 문자(\n) 기준으로 역추적하여 1-기반 (행, 열) 좌표로 자동 환산합니다.
- 배열 ➔ CSV 변환 엔진: 최상위 객체 배열의 고유 키를 추출하여 헤더를 구성하고, 엑셀 한글 깨짐을 방지하는 UTF-8 BOM 바이트를 자동 주입합니다.
JSON 포맷터 지원 기능 및 규격표
| 처리 모드 | 파싱 방식 및 알고리즘 | 표준 적용 규칙 |
|---|---|---|
| 정렬 (2칸 / 4칸 들여쓰기) | 구조적 계층 들여쓰기 및 구문 하이라이트 | RFC 8259 표준 준수 |
| 압축 (Minify) | 불필요한 공백, 개행, 탭 제거 후 단일 라인화 | 네트워크 전송량 최적화 |
| 배열 ➔ CSV 내보내기 | 객체 키 기반 헤더 자동 생성 및 UTF-8 BOM 다운로드 | 최상위 객체 배열 지원 |
기술적 한계 고지 및 유의사항
본 도구는 표준 RFC 8259 JSON만 지원하므로 후행 쉼표(Trailing comma), 자바스크립트 주석(//, /* */), 작은따옴표 키는 문법 오류로 처리됩니다. 9,007,199,254,740,991(2^53 - 1)을 초과하는 대형 정수는 JavaScript Number 부동소수점 한계로 하위 자릿수 반올림이 발생할 수 있으며, 수십 MB 이상의 파일은 브라우저 메인 스레드 점유로 일시적 멈춤 현상이 발생할 수 있습니다.
자주 묻는 질문 (FAQ)
수십 MB JSON도 Web Worker로 처리되나요?
아닙니다. 이 페이지는 JSON.parse와 JSON.stringify를 브라우저 메인 스레드에서 직접 실행합니다. 수 메가바이트를 초과하는 대용량 파일은 입력이 일시적으로 지연될 수 있으므로 분할 검사를 권장합니다.
문법 오류의 position 숫자는 행과 열로 어떻게 바뀌나요?
V8 메시지의 at position N은 0부터 세는 문자 인덱스입니다. 원문을 개행 단위로 스캔하여 줄바꿈마다 행을 올리고 열 위치를 계산합니다. 오류 배너를 클릭하면 해당 위치로 에디터 커서가 즉시 이동합니다.
후행 쉼표나 주석이 있는 JSON도 정렬되나요?
정렬되지 않습니다. 브라우저 JSON.parse는 RFC 8259 표준만 지원하므로 후행 쉼표({"a":1,}), // 주석, 작은따옴표는 문법 오류로 검출됩니다.
CSV 내보내기는 어떤 JSON에서 동작하나요?
최상위가 비어 있지 않은 객체 배열일 때 동작합니다. 각 객체의 키를 헤더로 사용하고 중첩 객체나 배열은 JSON 문자열로 변환하여 UTF-8 BOM이 포함된 CSV 파일로 저장합니다.