JSON 포맷팅과 검증 완전 가이드
· 6 분 소요
JSON(JavaScript Object Notation)은 데이터 교환의 사실상 표준이 되었습니다. API를 디버깅하거나, 설정 파일을 파싱하거나, 데이터를 전송할 때 JSON은 어디에나 있습니다.
하지만 원시 JSON은 거의 읽을 수 없습니다. 그래서 포맷팅 도구가 필수입니다.
왜 JSON이 눈으로 읽기 어려운가
API는 보통 압축된 JSON을 반환합니다:
{"name":"BoxrTools","tools":[{"slug":"json-formatter","category":"developer"},{"slug":"regex-tester","category":"developer"}],"stats":{"version":1,"free":true}}
기술적으로는 유효하지만, 필드를 찾으려면 중괄호를 세야 합니다.
포맷팅 후:
{
"name": "BoxrTools",
"tools": [
{ "slug": "json-formatter", "category": "developer" },
{ "slug": "regex-tester", "category": "developer" }
],
"stats": { "version": 1, "free": true }
}
같은 데이터가 한눈에 보이는 구조가 됩니다.
흔한 JSON 오류 5가지
1. 후행 쉼표
{ "a": 1, "b": 2, } // ❌ 구문 오류
JSON은 후행 쉼표를 허용하지 않습니다.
2. 작은따옴표
{ 'a': 1 } // ❌
큰따옴표만 허용됩니다.
3. 인용 부호 없는 키
{ a: 1 } // ❌
{ "a": 1 } // ✅
4. undefined 직렬화
JSON.stringify({ a: undefined }) // → '{}'
undefined는 JSON에 존재하지 않으므로 사라집니다.
5. 순환 참조
const a = {}; a.self = a;
JSON.stringify(a); // ❌ 에러 발생
JSON은 순환 구조를 표현할 수 없습니다.
어떤 들여쓰기를 쓸까
- 스페이스 2개 — 간결, 깊게 중첩된 데이터에 적합
- 스페이스 4개 — 더 읽기 쉬움
- 탭 — 개인 취향
정답은 없습니다. 일관성이 중요합니다.
검증 ≠ 포맷팅
검증은 “이게 유효한 JSON인가?”만 묻습니다. 포맷팅은 보기 좋게 만드는 것뿐입니다.
좋은 도구는 둘 다 합니다.
우리 도구를 써보세요
JSON 포맷터 및 검증기 제공 기능:
- 실시간 검증 + 줄 번호가 포함된 명확한 오류 메시지
- 3가지 들여쓰기 옵션
- 키 알파벳순 정렬(선택)
- 원클릭 압축
- 100% 브라우저 처리 — 데이터는 기기를 떠나지 않습니다