유틸리티

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

API 응답으로 받은 JSON이 한 줄짜리 문자열이다. 중괄호와 쉼표가 빽빽하게 이어져 있어서 어디가 어딘지 분간이 안 된다. 데이터가 10줄이면 눈으로 따라갈 수 있지만, 100줄이 넘어가면 들여쓰기 없이는 구조 파악 자체가 불가능하다.

순서: 정리(포맷팅)검증압축

1. JSON 포맷팅 (보기 좋게 정리)

한 줄짜리 JSON에 들여쓰기와 줄바꿈을 넣어서 구조를 파악할 수 있는 형태로 만드는 작업이다.

포맷팅 전

{"name":"홍길동","age":30,"address":{"city":"서울","zip":"04524"},"hobbies":["독서","코딩"]}

포맷팅 후

{
  "name": "홍길동",
  "age": 30,
  "address": {
    "city": "서울",
    "zip": "04524"
  },
  "hobbies": [
    "독서",
    "코딩"
  ]
}

들여쓰기가 생기니까 address 안에 city와 zip이 있다는 구조가 바로 보인다.

2. JSON 검증 (문법 오류 찾기)

JSON은 문법 규칙이 엄격하다. 쉼표 하나, 따옴표 하나가 빠져도 파싱 에러가 난다.

자주 하는 실수

  • 마지막 쉼표: 배열이나 객체의 마지막 항목 뒤에 쉼표를 넣으면 오류 (["a", "b",] → 마지막 쉼표 제거)
  • 작은따옴표: JSON에서 키와 문자열 값은 반드시 큰따옴표를 써야 한다 ({'name': '홍길동'} → 오류)
  • 주석: JSON은 주석을 지원하지 않는다 (// 이 줄은 이름 → 오류)
  • 누락된 괄호: 중괄호나 대괄호가 열린 만큼 닫혀야 한다
TIP 에러 메시지에 "Unexpected token at position 42" 같은 문구가 나오면 그 위치 근처에 문법 실수가 있다는 뜻이다. 해당 위치의 쉼표, 따옴표, 괄호를 점검하면 대부분 해결된다.

3. JSON 압축 (공백 제거)

포맷팅의 반대 작업이다. API 전송이나 저장 시에는 들여쓰기와 줄바꿈을 빼고 한 줄로 압축하면 파일 크기가 줄어든다. 가독성은 떨어지지만 데이터 전송 속도가 빨라진다.

에디터 vs 온라인 도구

방법장점단점
VS Code 확장에디터에서 바로 사용설치 필요, 설정 필요
명령줄 (jq)스크립트 자동화 가능설치 필요, 문법 학습 필요
온라인 도구설치 없이 즉시 사용인터넷 필요

급하게 확인할 때는 온라인 도구가 가장 빠르다. JSON 포매터에 데이터를 붙여넣으면 포맷팅, 압축, 검증, 키 정렬이 버튼 하나로 된다. 파일 크기, 깊이, 키 개수 같은 통계 정보도 함께 나와서 데이터 구조를 빠르게 파악할 수 있다.

JSON 관련 에러의 절반은 문법 실수에서 온다. 코드를 들여다보기 전에 포매터에 한 번 돌려보면 오류 위치가 바로 나오니까, 디버깅 시간을 줄이는 데 꽤 효과적이다.