JSON 포맷터/뷰어
📋 포맷/변환JSON 데이터를 예쁘게 들여쓰기하거나 압축하고, 문법 오류도 점검합니다.
JSON 포맷터란?
JSON 데이터를 한 번에 정렬·검증·압축하는 도구입니다. 압축된 JSON을 2/4 스페이스 또는 탭으로 정렬(Prettify)하거나, 공백을 제거해 압축(Minify)합니다. API 응답 분석, 설정 파일 편집, 데이터베이스 레코드 확인, 디버깅에 필수적인 도구입니다.
주요 기능
정렬 (Prettify)
압축된 JSON을 2/4 스페이스 또는 탭 들여쓰기로 정렬
압축 (Minify)
공백과 줄바꿈을 제거하여 파일 크기 최소화
유효성 검사
JSON 문법 오류를 위치와 원인과 함께 감지
실시간 변환
입력과 동시에 자동 포맷팅 (300ms 디바운스)
JSON 문법 규칙
- 키는 반드시 큰따옴표로 감싸야 합니다 (작은따옴표 불가)
- 문자열 값은 큰따옴표 사용, 숫자/불리언/null은 따옴표 없이
- 마지막 항목 뒤에 쉼표(trailing comma) 불가
- 주석 사용 불가 (JSON5, JSONC는 지원)
⚠️ 자주 하는 실수
JavaScript 객체 리터럴({key: 'val'})을 JSON으로 착각하는 경우가 가장 많습니다. JSON은 항상 큰따옴표({"key":"val"})만 허용합니다.
⚖️ JSON vs XML vs YAML 비교
| 항목 | JSON | XML | YAML |
|---|---|---|---|
| 가독성 | 보통 | 낮음 (태그 많음) | 높음 (들여쓰기 기반) |
| 파일 크기 | 작음 | 큼 (태그 오버헤드) | 가장 작음 |
| 주석 지원 | 불가 | 가능 | 가능 |
| 배열 표현 | 네이티브 지원 | 반복 태그 | - 기호 |
| 주 사용처 | API, 웹 통신 | 문서, SOAP, 설정 | 설정 파일 (K8s, CI/CD) |
| 파싱 속도 | 빠름 | 느림 | 보통 |
🚨 자주 발생하는 JSON 오류 TOP 5
- Trailing Comma: 마지막 항목 뒤에 쉼표 (
{"a":1,}) — JSON은 trailing comma를 허용하지 않음 - 작은따옴표 사용: 키/값에 작은따옴표 (
{'name':'홍길동'}) — 반드시 큰따옴표만 사용 - undefined / NaN / Infinity: JavaScript에는 있지만 JSON에는 없는 값 —
null로 대체 - 주석 포함:
// 주석이나/* */— 표준 JSON은 주석 불가 (JSONC 사용 필요) - 따옴표 없는 키:
{name: "값"}— JavaScript 객체 문법이지 JSON이 아님
자주 묻는 질문
JSON과 JavaScript 객체의 차이는?▼
JSON은 데이터 교환 형식으로 키에 반드시 큰따옴표를 사용해야 하며, 함수/undefined/주석을 지원하지 않습니다. JavaScript 객체는 더 유연하지만 JSON으로 직렬화할 때는 규칙을 따라야 합니다.
들여쓰기는 몇 칸이 좋나요?▼
공식 표준은 없습니다. 2칸이 가장 일반적이고, 4칸도 많이 사용됩니다. 프로젝트의 코딩 컨벤션을 따르세요.
JSON에 주석을 넣을 수 있나요?▼
표준 JSON은 주석을 지원하지 않습니다. 설정 파일에는 JSONC(JSON with Comments)나 JSON5 형식을 사용하거나, "_comment" 키를 활용하는 방법이 있습니다.