API 테스트 중에 응답 데이터가 한 줄로 쭉 이어져서 나온다. 중괄호와 쉼표가 끝없이 이어진 문자열 속에서 원하는 값을 찾으려면 눈이 아프다. 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 문서 작성 시 참고하기 좋다.