유틸리티

JSON 보기 좋게 정리하는 법 (포맷팅, 검증, 압축)

API 테스트 중에 응답 데이터가 한 줄로 쭉 이어져서 나온다. 중괄호와 쉼표가 끝없이 이어진 문자열 속에서 원하는 값을 찾으려면 눈이 아프다. JSON이 뭉쳐 있으면 디버깅 속도가 급격히 떨어진다.

순서: JSON 정렬문법 검증압축

한 줄짜리 JSON을 읽을 수 있게 정렬하기

JSON 포맷팅은 압축된 데이터에 들여쓰기와 줄바꿈을 넣어 사람이 읽기 쉽게 만드는 작업이다.

예를 들어 이런 데이터가 있다고 하자.

{"name":"홍길동","age":30,"address":{"city":"서울","zip":"06100"}}

포맷팅을 적용하면 아래처럼 바뀐다.

{
  "name": "홍길동",
  "age": 30,
  "address": {
    "city": "서울",
    "zip": "06100"
  }
}

들여쓰기는 2칸, 4칸, 탭 중에서 고르면 된다. 팀 코딩 컨벤션에 맞추면 된다.

문법 오류 찾기

JSON은 문법이 엄격하다. 쉼표 하나, 따옴표 하나가 빠져도 파싱에 실패한다. 흔한 실수 목록은 이렇다.

  • 마지막 항목 뒤에 쉼표가 남아 있는 경우 (trailing comma)
  • 키를 작은따옴표로 감싼 경우 (JSON은 큰따옴표만 허용)
  • 중괄호나 대괄호가 짝이 안 맞는 경우
  • 값에 주석을 넣은 경우 (JSON은 주석 미지원)

JSON 포맷터에 데이터를 붙여넣고 검증(Validate) 버튼을 누르면 문법 오류가 있는 위치를 바로 알려준다. 수천 줄짜리 JSON에서 빠진 괄호 하나를 눈으로 찾는 건 비현실적이니, 검증 도구를 거치는 게 시간 절약이 된다.

배포용으로 압축하기

보기 좋게 정렬된 JSON은 파일 크기가 커진다. API 응답이나 설정 파일을 프로덕션에 올릴 때는 공백과 줄바꿈을 제거해 용량을 줄이는 게 좋다. 압축(Minify) 기능을 쓰면 한 줄로 다시 합쳐진다.

TIP 키를 알파벳순으로 정렬하면 두 JSON 파일을 비교(diff)할 때 편하다. 같은 키가 같은 위치에 오니 차이점을 찾기 쉬워진다.

JSON 파일 크기, 최대 중첩 깊이, 키 개수 같은 통계 정보도 바로 확인할 수 있다. 코드 리뷰나 API 문서 작성 시 참고하기 좋다.