유틸리티

JSON 보기 좋게 정리하는 법, 포맷팅·검증·압축 한 번에

API에서 응답받은 JSON이 이렇게 생겼다면 읽을 수 없다.

{"users":[{"id":1,"name":"홍길동","email":"[email protected]"},{"id":2,"name":"김철수","email":"[email protected]"}]}

사람 눈으로 구조를 파악하려면 들여쓰기와 줄바꿈이 필요하다. 에디터에서 직접 정리할 수도 있지만, 데이터가 수백 줄이면 시간이 오래 걸린다.

JSON 포맷팅(정렬)이 필요한 경우

  • API 응답 데이터를 디버깅할 때
  • 설정 파일(config.json)의 구조를 확인할 때
  • 다른 개발자에게 데이터를 공유할 때
  • 에러 원인을 찾기 위해 JSON 구조를 훑어볼 때

포맷팅, 검증, 압축의 차이

기능하는 일언제 쓰나
포맷팅(정렬)들여쓰기·줄바꿈 추가읽기 쉽게 구조를 파악할 때
검증문법 오류 검출API 요청이 실패할 때 원인 확인
압축(Minify)공백·줄바꿈 전부 제거전송 데이터 크기를 줄일 때
키 정렬키를 알파벳 순으로 재배치두 JSON을 비교할 때

흔한 JSON 문법 오류

JSON 검증에서 자주 걸리는 실수들이 있다.

  1. 마지막 쉼표{"a":1, "b":2,} 처럼 마지막 항목 뒤에 쉼표가 남아 있으면 에러. 자바스크립트에서는 허용되지만 JSON 표준에서는 안 된다.
  2. 작은따옴표{'name':'홍길동'}은 JSON이 아니다. 반드시 큰따옴표를 써야 한다.
  3. 주석// 이건 주석을 넣으면 파싱 에러. JSON은 주석을 지원하지 않는다.
  4. 키에 따옴표 누락{name: "홍길동"}은 자바스크립트 객체이지 JSON이 아니다.

에러 메시지만 보고 어디가 잘못됐는지 찾기 어렵다면, JSON 포매터에 붙여넣고 검증 버튼을 누르면 오류 위치와 내용이 표시된다. 들여쓰기 단위(2칸, 4칸, 탭)도 선택할 수 있고, 데이터의 크기, 중첩 깊이, 키 개수 같은 통계도 확인 가능하다.

TIP JSON 두 개를 비교해야 할 때는 양쪽 모두 키 정렬을 적용한 뒤 비교하면 차이점을 훨씬 빠르게 찾을 수 있다.

API 연동 작업에서 JSON 파싱 에러는 가장 흔한 문제 중 하나다. 데이터를 보내기 전에 검증 한 번만 거치면 불필요한 디버깅 시간을 줄일 수 있다.