CalKit

JSON 포맷터

JSON 데이터를 보기 좋게 포맷하거나 압축합니다.

개요

JSON 데이터를 보기 좋게 포맷팅(정렬 인쇄)하거나 압축(minify)하는 도구입니다. JSON 유효성 검사, 디버깅, API 응답 확인 시 유용합니다.

계산 공식

포맷팅 알고리즘: JSON 문자열을 파싱하여 추상 구문 트리(AST)로 변환한 뒤, 재귀적으로 순회하며 들여쓰기(2 또는 4스페이스/탭)를 적용하여 직렬화합니다. 압축(Minify)은 모든 불필요한 공백, 줄바꿈, 들여쓰기를 제거합니다. 유효성 검사는 JSON 사양(RFC 8259)에 따라 구문 오류를 감지하고 오류 위치를 표시합니다.

사용 방법

  1. 1JSON 텍스트를 입력란에 붙여넣기 합니다.
  2. 2포맷(Beautify) 또는 압축(Minify) 버튼을 클릭합니다.
  3. 3들여쓰기 크기(2칸, 4칸, 탭)를 선택할 수 있습니다.
  4. 4포맷팅된 결과를 복사합니다.

활용 팁

  • 유효하지 않은 JSON을 입력하면 오류 위치와 메시지를 확인할 수 있습니다.
  • API 응답을 디버깅할 때 포맷터를 사용하면 구조를 빠르게 파악할 수 있습니다.
  • Minify된 JSON은 네트워크 전송 시 대역폭을 절약합니다.
  • JSON에서 주석(// 또는 /**/)은 표준에 포함되지 않으므로 사용하면 파싱 오류가 발생합니다.
  • 키 정렬(알파벳순) 옵션을 사용하면 JSON 비교가 더 쉬워집니다.

자주 묻는 질문

Q. JSON과 JavaScript 객체의 차이는 무엇인가요?

JSON은 키를 반드시 큰따옴표(")로 감싸야 하고, undefined, 함수, Symbol 등은 포함할 수 없습니다. JavaScript 객체는 따옴표 없는 키, 작은따옴표, 후행 쉼표 등을 허용합니다.

Q. JSON 포맷팅이 데이터에 영향을 주나요?

아닙니다. 포맷팅은 공백과 들여쓰기만 변경하며 데이터의 내용(값, 구조)은 전혀 변경하지 않습니다. Minify 역시 동일한 데이터를 유지합니다.

Q. 대용량 JSON도 처리할 수 있나요?

브라우저 기반 도구는 일반적으로 수 MB 크기의 JSON까지 처리 가능합니다. 매우 큰 파일은 스트리밍 파서(예: jq, Python의 ijson)를 사용하는 것이 좋습니다.

관련 계산기