개발자

JSON 포맷터

지저분하고 압축된 JSON은 한눈에 읽기 어렵습니다. 붙여넣으면 깔끔하게 들여쓰기된 출력을 즉시 확인할 수 있어 스캔도, 디버깅도, 복사도 훨씬 쉬워집니다.

이 계산기가 도움이 되었나요?

JSON 포맷터이란?

JSON(JavaScript Object Notation)은 사람이 읽을 수 있는 키-값 쌍과 정렬된 배열을 사용하는 경량 텍스트 기반 데이터 교환 형식입니다. 이름에도 불구하고 JSON은 언어에 독립적이며 거의 모든 최신 프로그래밍 언어에서 지원됩니다. JSON 포맷터는 원시, 축약 또는 잘못된 JSON을 가져와 적절한 들여쓰기와 줄 바꿈이 있는 잘 구성된 사람이 읽을 수 있는 형식으로 변환합니다. 예쁜 인쇄는 일관된 간격을 추가합니다 — 일반적으로 중첩 수준당 2 또는 4 공백 — 깊이 중첩된 객체와 배열을 스캔하기 쉽게 만듭니다. 축약은 그 반대를 수행합니다: 가장 작은 가능한 페이로드를 만들기 위해 모든 불필요한 공백 문자를 제거합니다.

이 계산기를 사용해야 할 때

  • 한 줄로 된 읽을 수 없는 JSON을 반환하는 API 응답을 디버깅할 때
  • 가독성이 중요한 문서나 README를 위해 JSON을 준비할 때
  • 동일한 들여쓰기로 포맷ting한 후 두 JSON 구조를 나란히 비교할 때
  • 압축된 구성 파일(예: package.json 또는 tsconfig.json)을 읽을 때
  • 채팅이나 이메일로 동료에게 읽을 수 있는 형식으로 JSON 데이터를 공유할 때
  • 데이터 구조를 확인하기 위해 웹훅 페이로드 또는 브라우저 네트워크 응답을 검사할 때

단계:

  1. JSON을 입력 영역에 붙여넣습니다.
  2. Click the Format button.
  3. 아름답게 포맷된 JSON 출력을 확인합니다.
  4. 포맷된 JSON을 클립보드에 복사합니다.

공식

입력: 압축된 JSON → 출력: 레벨당 2칸(기본값)의 configurable 들여쓰기가 적용된 JSON

사용 사례

  • Debugging API responses
  • Reading configuration files
  • Sharing structured data
  • 문서 작성을 위한 JSON 준비

주요 이점

  • 축약된 JSON을 즉시 읽을 수 있는 들여쓰기된 출력으로 포맷
  • 정확한 줄과 열 보고로 구문 오류를 감지하고 위치 파악
  • 프로덕션 배포를 위해 포맷된 JSON을 Compact한 형태로 다시 축약
  • 일관되고 비교하기 쉬운 출력을 위해 객체 키를 알파벳순으로 정렬
  • 큰 JSON 구조에서 쉽게 탐색하기 위해 줄 번호 토글
  • 클릭 한 번으로 포맷된 출력을 클립보드에 복사 — 브라우저에서 데이터가 나가지 않음

전문가 팁

  • 기본값으로 2공백 들여쓰기를 사용 — 가독성과 Compact한 사이의 균형을 맞추며 가장 널리 채택된 관례입니다.
  • 두 JSON 구조를 비교하기 전에 키 정렬을 활성화하여 시각적 비교를 용이하게 합니다.
  • 프로덕션 구성 파일에 붙여넣기 전에 항상 이 도구에서 JSON을 검증합니다.
  • HTTP 헤더 또는 URL 쿼리 매개변수용 JSON을 준비할 때 축약 옵션을 사용합니다.
  • 깊이 중첩된 JSON을 디버깅할 때 줄 번호 토글을 사용하여 오류 메시지에서 특정 줄을 빠르게 참조합니다.

피해야 할 일반적인 실수

  • 객체의 마지막 속성이나 배열의 마지막 요소 뒤에 쉼표를 배치하는 것 — JSON은 이를 허용하지 않습니다.
  • 키 또는 문자열 값에 단일 인용 부호를 사용하는 것 — JSON은 모든 텍스트 필드에 이중 인용 부호를 요구합니다.
  • JSON에 주석(// 또는 /* */)을 추가하는 것 — 표준 JSON에는 주석 구문이 없습니다.
  • 키-값 쌍이나 배열 요소 사이에 쉼표를 잊어버리는 것 — 누락된 쉼표는 파싱 오류의 가장 일반적인 원인입니다.

주요 용어 설명

JSON(JavaScript Object Notation): 키-값 쌍과 정렬된 배열을 사용하는 경량 텍스트 기반 데이터 교환 형식.
예쁜 인쇄: 사람이 읽을 수 있도록 일관된 들여쓰기와 줄 바꿈으로 JSON을 포맷하는 프로세스.
축약: 가장 작은 문자열을 만들기 위해 JSON에서 모든 불필요한 공백을 제거하는 프로세스.
파싱: 원시 JSON 문자열을 메모리에서 프로그래밍 가능한 객체나 구조로 변환하는 작업.
쉼표: 객체나 배열의 마지막 요소 뒤에 배치된 쉼표 — 엄격한 JSON에서의 일반적인 구문 오류.

관련 개념

예시

입력: {"name":"John","age":30,"address":{"city":"NYC","zip":"10001"}}가 줄 바꿈과 2칸 들여쓰기로 포맷되어 중첩 구조가 명확하게 보입니다.

결과 해석 방법

포매터는 원시 JSON 입력을 가져와 일관된 들여쓰기(기본값: 중첩당 2칸)를 적용하고 각 키, 값 또는 닫는 괄호 후에 줄 바꿈을 추가합니다. 출력은 정확한 데이터를 보존합니다 — 값은 변경되지 않고 가독성을 위한 여백만 추가됩니다. 압축 기능은 그 반대를 수행합니다: 불필요한 모든 여백을 제거하여 가장 작은 가능한 문자열을 만듭니다. 이는 모든 바이트가 중요한 production API에서 페이로드 크기를 줄이는 데 유용합니다. 압축된 JSON은 포맷된 JSON과 기능적으로 동일합니다 — 여백만 다릅니다. 키 정렬 옵션은 객체 속성을 알파벳 순으로 재배열하여 두 JSON 구조를 비교하거나 일관된 키 순서가 중요한 구성 파일에 유용합니다. JSON 키 순서에는 의미론적 의미가 없으며 정렬된 JSON과 정렬되지 않은 JSON은 동일합니다.

자주 묻는 질문

JSON 포맷팅이란 무엇인가요?
JSON 포맷팅(또는 프리티 프린팅)은 JSON 데이터에 적절한 들여쓰기와 줄 바꿈을 추가하여 사람이 읽기 쉽게 만듭니다. 압축된 JSON은 전송에 유리하지만 읽기 어렵습니다.
중첩된 JSON도 처리할 수 있나요?
네, 포맷터는 임의 깊이의 중첩된 객체와 배열을 처리하며 각 단계를 올바르게 들여씁니다. 복잡하고 깊이 중첩된 JSON 구조도 깔끔하게 포맷됩니다.
데이터가 서버로 전송되나요?
아니요. 모든 JSON 처리는 브라우저에서 완전히 이루어집니다. 데이터는 기기를 절대 벗어나지 않습니다.
포맷과 최소화(minify)의 차이는 무엇인가요?
포맷은 가독성을 위해 들여쓰기와 줄 바꿈을 추가합니다. 최소화는 그 반대로, 불필요한 모든 공백을 제거하여 가장 작은 JSON 문자열을 생성하며, 프로덕션 배포에 유용합니다.
키를 알파벳순으로 정렬할 수 있나요?
네. 키 정렬 옵션은 객체 키를 알파벳순으로 재배열하여 대용량 JSON 구조의 검색과 비교를 더 쉽게 만듭니다. 특히 설정 파일에 유용합니다.
왜 JSON에 쉼표(trailing comma) 오류가 발생하나요?
JSON은 객체나 배열의 마지막 요소 뒤에 쉼표를 허용하지 않습니다. 이는 수동으로 JSON을 편집할 때 흔히 발생하는 실수이며, 포맷터가 이 오류를 강조 표시합니다.
JSON과 JSONC의 차이는 무엇인가요?
JSONC(JSON with Comments)는 //와 /* */ 주석을 허용합니다. 표준 JSON은 허용하지 않으며, 이 포맷터는 표준 JSON을 처리합니다. 포맷하기 전에 모든 주석을 제거하세요.
API 응답에서 가져온 JSON도 포맷할 수 있나요?
물론입니다. API 클라이언트나 브라우저 개발자 도구에서 원본 JSON 응답을 복사하여 여기에 붙여넣으세요. 포맷터가 즉시 디버깅 가능한 형태로 만들어 드립니다.
몇 칸 들여쓰기를 해야 하나요?
2칸이 가장 널리 사용되는 관례이자 기본값입니다. 일부 팀은 4칸이나 탭을 선호하기도 합니다. 프로젝트의 코딩 스타일 가이드에 맞추어 사용하세요.
이 도구로 JSON을 YAML로 변환할 수 있나요?
이 도구는 JSON 포맷팅과 최소화에 초점을 맞추고 있습니다. JSON→YAML 변환은 전용 변환 도구를 사용하세요. 하지만 먼저 JSON을 포맷하면 수동 변환이 훨씬 쉬워집니다.
왜 JSON에 파스 오류가 표시되나요?
일반적인 원인으로는 쉼표, 따옴표 없는 키, 작은 따옴표 사용, 콜론 누락 등이 있습니다. 정확한 오류 위치를 파악하려면 먼저 JSON 검증 도구를 사용하세요.

더 많은 도구 살펴보기

전체 도구 라이브러리에서 엄선한 새로운 추천입니다.