JSON 포맷터 및 뷰어
JSON을 붙여넣으면 즉시 정렬됩니다; 임의의 필드를 클릭하면 오른쪽에서 전체 값과 경로를 확인할 수 있습니다. 문법 오류가 행과 열에 표시되며 모두 브라우저 내에서 처리됩니다.
- 들여쓰기
- 2 / 4 칸 · Tab
- 부가 기능
- 클릭으로 보기 · 정렬 · 통계
- 개인정보
- 콘텐츠 업로드 안 함
- 사용 제한
- 무료 · 회원가입 불필요
왜 이게 필요한가요
매일 JSON 을 다루는 사람을 위한 필수 도구
API 응답, 설정 파일, 로그 페이로드 등 원본 JSON은 종종 읽기 어려운 한 줄로 제공됩니다. 가독성을 높이고 잘못된 쉼표를 찾은 후 원하는 형식으로 다시 정리하세요.
보기 좋게 포맷하거나 압축하기
인간이 읽기 쉬운 트리 구조와 기계가 주고받는 한 줄 형식을 한 번에 전환할 수 있으며, 코드 스타일에 따라 2칸, 4칸, Tab 중 들여쓰기를 선택할 수 있습니다.
오류 위치를 행과 열로 표시
복잡한 구문 분석 오류 메시지 대신 L12 : C34 와 같은 행과 열 좌표로 문법 오류를 직접 알려줍니다. 누락된 쉼표나 따옴표를 한눈에 확인할 수 있습니다.
키 이름 재귀 정렬
객체 키는 각 계층에서 알파벳 순으로 재귀 정렬되고 배열 요소는 원래 순서를 유지합니다. 설정 비교나 테스트 고정값 저장 시 가장 유용합니다.
문자열 이스케이프 처리 / 역이스케이프 처리
전체 JSON을 문자열 리터럴로 이스케이프 처리해 코드나 환경 변수에 쉽게 삽입할 수 있으며, 로그의 {\"a\":1} 형식 리터럴을 원본 JSON으로 복원할 수도 있습니다.
필드를 클릭해 전체 내용 보기
편집 영역의 필드를 클릭하면, 오른쪽 드로어에 해당 값의 전체 내용, 타입, JSON 경로가 표시됩니다. 중첩된 객체와 배열도 완전히 확인할 수 있어 괄호를 세어 확인할 필요가 없습니다.
완전히 로컬에서 실행
JSON은 브라우저를 벗어나지 않으며, 이 도구는 오프라인으로 사용할 수 있고 입력이 비어있을 때는 아무 요청도 보내지 않습니다.
사용 방법
들여쓰기는 2칸, 4칸, Tab 사이에서 전환할 수 있습니다. 기기에 전달해야 할 때는 한 번의 클릭으로 한 줄로 압축하고, 안정적인 순서가 필요할 때는 객체 키를 재귀적으로 정렬할 수 있으며, 전체 JSON 문자열을 문자 리터럴로 이스케이프하거나 로그에 이스케이프된 리터럴을 원래대로 복원할 수도 있습니다.
필드를 클릭하면 오른쪽 드로어에서 해당 필드의 전체 내용을 확인할 수 있습니다. 입력에 따라 키 수, 배열 요소, 중첩 깊이가 실시간으로 계산됩니다.同一 페이지에서 여러 JSON을 나란히 비교해서 볼 수 있으며, 각 JSON은 서로 영향을 미치지 않습니다. 모든 처리가 브라우저 로컬에서 이루어지며 내용은 업로드되지 않습니다.
더 많은 JSON 도구
사용 목적별로 선정된 타사 도구로, 본 사이트에서는 구현하지 않으므로 필요할 때 사용하시기 바랍니다.
| 도구 | 목적 | 주요 기능 |
|---|---|---|
| JSON Editor Online | 편집 및 유효성 검사 | 텍스트와 트리의 두 패널이 연동되며 구조를 드래그 조정할 수 있고, Diff, Schema 유효성 검사 및 쿼리 기능이 내장되어 있습니다. |
| JSON Crack | 시각화 | JSON을 대화형 노드 그래프로 표현해 복잡한 중첩 구조를 빠르게 이해하거나 프레젠테이션에 적합합니다. |
| JSON Visio | 시각화 | 또 다른 그래픽 뷰어로 인터페이스가 더 가볍습니다. JSON Crack과 함께 용도에 맞게 선택하여 사용하세요. |
| Diffchecker | 비교 | 두 텍스트를 나란히 또는 통합 뷰로 비교해 추가, 삭제 및 수정된 행을 빠르게 찾을 수 있습니다. |
| JSONPath | 쿼리 | 온라인에서 JSONPath 표현식을 실행해 원하는 필드를 JSON에서 경로별로 추출할 수 있습니다. |
| JSONata | 쿼리 및 변환 | JSON 표현식 언어를 조회하고 변환할 수 있으며, 온라인 playground와 예제를 참고할 수 있습니다. |
| quicktype | 타입 생성 | JSON을 TypeScript, Swift, Go 등 언어의 타입 정의로 변환합니다. |
| JSON Generator | 데이터 생성 | 템플릿을 사용해 구조화된 목 데이터를 생성하며, API 테스트용 샘플 제작에 적합합니다. |
JSON 포맷팅 세부 사항
JSON은 간단해 보이지만 실제로는 몇 가지 엄격한 규칙이 있습니다. 이를 알면 파서가 데이터를 거부할 때 발생하는 혼란을 줄일 수 있습니다.
어떤 JSON이 합법적인가요?
JSON은 오직 여섯 가지 값만 정의합니다: 객체, 배열, 문자열, 숫자, 불리언, null. 키는 반드시 큰따옴표로 묶인 문자열이어야 하고, 불필요한 쉼표나 주석은 허용되지 않습니다. JavaScript에서의 작은따옴표, undefined, NaN, Infinity, 후행 쉼표는 엄격한 구문 분석기에서 오류가 발생하며, 이 도구가 바로 이러한 오류를 표시합니다.
「보기」와 「포맷팅」은 무엇이 다르나요?
포맷팅은 텍스트의 서식(들여쓰기, 줄 바꿈, 압축)을 변경하지만, 보기는 원문을 그대로 두고 특정 필드를 클릭했을 때 해당 필드의 전체 값, 타입, JSON 경로를 오른쪽 서랍에 표시합니다. 중첩이 깊은 객체는 편집 영역에서 종종 괄호만 남게 되는데, 직접 선택해서 보면 특정 필드의 실제 내용을 쉽게 확인할 수 있어 API 응답이나 로그 페이로드를 읽을 때 특히 편리합니다.
포맷팅 후 키의 순서가 바뀌는 이유는 무엇인가요?
JSON 규격은 객체를 순서 없는 키-값 쌍으로 간주하므로 구문 분석기는 자유롭게 순서를 재정렬할 수 있습니다. 사실 V8(Chrome / Node)은 문자열 키의 삽입 순서를 유지하지만, 정수 형태의 키("1", "42")는 항상 숫자 순서로 가장 앞에 정렬됩니다. 만약 구문 분석기 간에 안정적인 순서가 필요하다면 「객체 키 이름 정렬」을 켜세요 — 재귀적으로 알파벳 순서로 정렬되며 설정 파일을 비교할 때 특히 유용합니다.
JSON은 얼마나 큰 숫자를 표현할 수 있나요?
JSON 자체에는 상한이 없지만, JavaScript는 모든 숫자를 IEEE-754 배정도 부동 소수점으로 구문 분석합니다. ±2^53(약 9000조)을 초과하는 정수는 정밀도가 손실됩니다. 9007199254740993은 9007199254740992가 됩니다.
페이로드에 64비트 ID 또는 나노초 타임스탬프가 있는 경우 문자열로 유지해야 합니다. 이 도구는 이를 손상시키지 않지만 JS 코드에 붙여넣으면 손상됩니다.
언제 미화보다 압축을 사용해야 할까요?
사람이 읽는 상황에서는 미화를 사용합니다: 코드 검토, 디버깅, 문서 작성. 기계가 전송하는 상황에서는 압축을 사용합니다: API 요청 본문, URL 매개변수, 환경 변수, .env 파일.
일반적인 API 페이로드는 압축 후 15–30%의 바이트를 절약할 수 있으며 구조는 전혀 변경되지 않습니다. 이것이 가장 저렴한 압축입니다.
이스케이프는 무엇을 위한 것인가요?
이스케이프는 JSON을 문자열 리터럴로 감쌉니다: 따옴표를 \"로 바꾸고 줄 바꿈을 \n으로 바꾸므로 다른 JSON 값, shell 명령 또는 환경 변수에 안전하게 포함될 수 있습니다.
디이스케이프는 복원하는 것입니다. 로그에서 {\"a\":1}과 같은 내용을 복사한 적이 있다면 이는 이스케이프된 형식이며, 그냥 붙여넣으면 '디이스케이프'를 클릭하면 됩니다.
자주 묻는 질문
내 JSON이 업로드되거나 저장되나요?
아니요. 모든 처리는 브라우저에서 JavaScript로 수행되며, JSON을 전송하는 요청은 전혀 없고 오프라인에서도 사용할 수 있습니다. 또한 로컬 스토리지에 쓰이지 않으며 페이지를 새로고침하면 입력 내용이 삭제됩니다.
내 설정 파일 포맷팅이 실패하는 이유는 무엇인가요?
거의 확실하게 엄격한 JSON이 아니기 때문입니다: JSONC/JSON5는 주석과 후행 쉼표를 허용하고, YAML은 들여쓰기로 계층을 표현하며, .env는 key=value 형식입니다. 주석과 후행 쉼표를 먼저 제거하거나 해당 형식의 파서를 사용하세요.
키 정렬이 배열에 영향을 미치나요?
아니요. 배열 순서 자체가 의미를 가지므로(첫 번째 항목, 두 번째 항목 …) 항상 그대로 유지됩니다; 오직 객체(배열 내 중첩 객체 포함)의 키만 알파벳 순으로 재귀 정렬됩니다.
"오류 위치 L12 : C34"는 무엇을 의미하나요?
파서가 분석을 중단한 위치를 나타냅니다: 12행, 34열입니다(1부터 시작). 실제 오류는 대개 이 지점이나 그 앞에 있습니다 – 위 행에 쉼표가 누락되었거나, 따옴표가 제대로 이스케이프되지 않았거나, 닫힌 괄호 앞에 후행 쉼표가 더 있을 수 있습니다.
크기 제한이 있나요? 모바일에서 사용할 수 있나요?
엄격한 상한선은 없습니다 – 몇 메가바이트의 로그 출력도 포맷팅하는 데 문제가 없습니다. 매우 큰 입력(수십 메가바이트)은 저사양 기기에서 약간 느려질 수 있는데, 이는 키 입력마다 재분석 및 재포맷팅을 수행하기 때문입니다. 페이지는 반응형으로 제작되어 편집 영역이 화면 너비에 맞게 자동 조정됩니다.