JSON 포맷터
JSON 문자열을 붙여넣어 유효성을 확인하고, 정렬된 형식을 보며, 기본적인 구조 지표를 확인하세요.
JSON 포맷터 사용 방법
- JSON 입력 필드에 JSON 붙여넣기
JSON 입력 필드에 JSON 문자열을 붙여넣거나 입력하세요.
- 유효성 검사 확인
상태 결과는 입력값이 유효한 JSON인지 여부를 나타내거나 파싱 오류를 표시합니다.
- 포맷된 출력 확인
유효한 JSON은 '포맷된 출력' 섹션에 2칸 들여쓰기로 보기 좋게 표시됩니다.
- 구조 지표 검토
총 키 개수와 최대 중첩 깊이를 사용하여 문서 구조를 파악하세요.
이 JSON 포맷터의 작동 방식
이 도구는 브라우저의 기본 JSON.parse를 사용하여 입력을 검증하고, 들여쓰기가 포함된 JSON.stringify를 사용하여 보기 좋게 출력합니다. 또한 파싱된 구조를 탐색하여 총 키 개수를 계산하고 최대 중첩 깊이를 측정합니다.
JSON.parse(input) → JSON.stringify(parsed, null, 2) 입력: {"name":"test","value":42} → 2칸 들여쓰기, 키 2개, 깊이 1로 서식 지정됨.
입력 {"a":1,"b":[2,3],"c":{"d":4}} → 키 4개, 깊이 2. 중첩된 객체 c가 깊이를 한 단계 추가합니다.
잘못된 입력 {"key": undefined}는 유효성 검사에 실패합니다. JSON에는 undefined가 없으므로 null을 사용하거나 키를 생략해야 합니다.
- ✓ 입력값은 유효한 JSON이어야 합니다 (JavaScript 객체나 후행 쉼표 제외).
- ✓ 입력 데이터가 크면 브라우저 성능에 영향을 줄 수 있습니다.
- 이 도구는 브라우저 내에서만 실행됩니다. 어떤 데이터도 서버로 전송되지 않습니다.
JSON 유효성 검사 이해하기
JSON(JavaScript Object Notation)은 JavaScript 리터럴 구문의 엄격한 부분 집합입니다. 유효한 JSON은 큰따옴표로 묶인 키와 문자열 값, 마지막 쉼표 금지, 주석 금지, 작은따옴표 금지 등의 규칙을 따릅니다. 파서는 문자열을 한 글자씩 읽어 파스 트리를 구축하며, 쉼표 누락, 이스케이프되지 않은 따옴표, 잘못된 숫자 등 구문 오류가 발생하면 특정 오류 메시지 및 위치와 함께 유효성 검사가 실패합니다. 흔한 실수를 파악하면 도움이 됩니다. 배열의 마지막 요소나 객체의 속성 뒤에 붙는 쉼표는 유효하지 않으며, JavaScript 방식의 주석(// 또는 /* */)도 허용되지 않습니다. 숫자 값은 0 자체를 제외하고는 앞에 0이 올 수 없으며, 문자열은 유효한 이스케이프 시퀀스를 사용해야 합니다.
개발자를 위한 JSON 포맷팅의 실무 활용 사례
개발자는 API 응답 디버깅, 설정 파일 검사, 문서용 데이터 준비 시 JSON 포맷터를 사용합니다. 운영 API의 압축된(minified) JSON은 읽기 어렵지만, 프리티 프린팅(pretty-printing)은 구조를 드러내어 잘못된 형식이나 예상치 못한 필드를 쉽게 찾을 수 있게 해줍니다. 키 개수 및 중첩 깊이와 같은 구조 지표는 복잡성을 평가하고 성능 문제를 일으킬 수 있는 과도하게 중첩된 페이로드를 식별하는 데 도움이 됩니다. 테스트나 픽스처를 작성할 때 형식이 지정된 JSON은 버전 관리 시스템에서 차이점(diff)을 비교하고 검토하기 더 쉽습니다. 유효성 검사기는 요청을 보내거나 설정 파일을 커밋하기 전에 구문 오류를 빠르게 잡아내어 디버깅 시간을 단축해 줍니다.
자주 묻는 질문
JSON5 또는 JSONC를 지원하나요?
아니요. 표준 JSON(RFC 8259)만 지원합니다. 주석과 후행 쉼표는 유효성 검사 오류를 발생시킵니다.
크기 제한이 있나요?
엄격한 제한은 없으나, 매우 큰 JSON 문자열은 브라우저 속도를 늦출 수 있습니다.