JSON 형식화기
JSON 블로브(압축된 형태, 이스케이프 처리된 형태 또는 로그 라인 그대로의 데이터)를 붙여넣으면 원하는 인덴트 크기로 정확하게 출력됩니다. 파싱 시 오류가 발생하면 해당 라인과 열을 명확히 표시하며, 객체 키를 알파벳 순으로 정렬할 수 있어 두 API 응답 간의 차이를 훨씬 더 쉽게 확인할 수 있습니다.
JSON 형식을 설정하는 방법
-
1
JSON을 붙여넣으세요
소형화되었거나 문자열 내부로 포함되어 있거나 JSONP 콜백에 둘러싸여 있더라도, 파서는 이를 모두 처리한다.
-
2
들여쓰기를 선택하세요
2개의 공간, 4개의 공간, 탭, 또는 컴팩트 형태(소형 페이로드용 단일 줄 형식).
-
3
정렬 키를 전환하세요
객체 키를 알파벳 순으로 정렬하여 두 응답을 비교하는 것을 더 용이하게 합니다.
-
4
복사하거나 다운로드하세요
원클릭으로 클립보드에 복사하거나 `.json` 파일로 저장할 수 있습니다.
형식화기의 처리 범위
- 단축 입력:
{"a":1,"b":[1,2,3]}가 올바르게 인덴팅됩니다. - 문자열 내 탈출된 JSON:
"{\"nested\":true}"를 포함하는 JSON 문자열은 풀어 닫고 형식을 설정할 수 있습니다. - JSONP 콜백:
callback({...})는{...}로 단순히 변환되었습니다. - BOM 및 앞쪽 여백: 자동으로 제거되었습니다.
- コメント: JSONC 스타일의
//및/* */는 “유연한” 모드에서는 허용되지만 출력 결과에서 제거됩니다(엄격한 JSON은 댓글을 포함하지 않습니다).
왜 Pretty-Print JSON이 좋은가
- Diffing: 수천 개의 키를 포함하는 단일 줄 JSON 문서는
git diff에서는 읽을 수 없습니다. 정렬된 형태로 각 키가 하나의 줄로 표시됩니다. - 디버깅: 중첩된 구조는 인덴테이션을 사용하면 시각적으로 더 쉽게 탐색할 수 있습니다.
- 문서화: API 예제는 항상 일정한 형식으로 작성되어야 하며, 재발행 시에도 일관되게 정렬되고 안정적으로 유지되어야 합니다.
- _configs: JSON 형식의 설정 파일은 읽기 편함을 위해 리포지토리에 명확하게 표시되어야 하며, 런타임 환경은 두 가지 형식 모두를 해석할 수 있습니다.
삽입 규칙
| 컨텍스트 | 일반적인 인덴트 |
|---|---|
npm package.json |
2개의 공백 |
| AWS CloudFormation | 2개의 공간 |
| 레거시 자바 / .NET | 4개의 공백 |
| VCS 내 설정 | 2개의 공간(프로젝트 전체 일관성이 가장 중요함) |
키를 정렬하는 것은 논란의 여지가 있습니다. 이 방식은 차이 내용을 더 명확하게 보여주지만, 표준 구성 파일의 디스크 내 순서를 변경합니다. 따라서 프로젝트 전반에 걸쳐 일관된 규칙을 설정하고 이를 준수하는 것이 좋습니다.
확인할 유효성 오류들
| 오류 | 수정 |
|---|---|
Unexpected token ' at position X |
단일 인용호를 사용했습니다. 이중 인용호로 변경하세요 |
Unexpected end of JSON input |
종결 괄호 또는 브래킷 누락 |
Unexpected token , at position X |
뒤따르는 쉼표; 제거합니다 |
Unexpected token a at position X |
비인용 열 또는 NaN/undefined 문자열 |
Duplicate key "foo" (완화 모드) |
JSON 규격에서 허용되며, 대부분의 파서는 마지막 값을 유지합니다 |
흔한 오류들
- HTML 엔티티를 포함한 JSON을 복사할 때:
"는 파싱되지 않으므로 먼저 디코딩해야 합니다. - ** string 처리 시 엄격한 기준과 완화된 기준을 병행 사용하십시오.** 완화된 파싱은 검사 목적으로만 사용하시고, 절대 완화된 JSON 형식의 파일을 생산 환경의 설정 파일에 저장하지 마십시오.
- 이미 아름답게 인쇄된 파일을 다른 스타일로 다시 인쇄하는 작업입니다. 형식화 도구는 이를 문제없이 처리하지만, 이 과정에서 불필요한 차이 정보(노이즈 디프)가 생성됩니다.
자주 묻는 질문
아니요, 분석 및 형식화 작업은 모두 브라우저 내에서 수행됩니다. 콘텐츠는 결코 탭을 벗어나지 않으므로 토큰, 내부 설정 정보 또는 스테이징 페이로드가 포함된 API 응답을 붙여넣는 데에도 안전합니다.
포맷러는 유효한 JSON을 아름답게 출력합니다. 검증기는 JSON 스키마와 비교하여 검사를 수행합니다. 두 과정 모두 파싱 검사를 수행하지만, 검증은 단순히 “이 JSON이 유효한 JSON인가?”를 확인하는 것이 아니라 “이것이 내 스키마와 일치하는가?”라는 질문을 던지는 별도의 단계입니다.
네. “sort keys” 옵션은 모든 레벨의 네스팅 구조에서 모든 객체 키를 재귀적으로 정렬합니다. 배열은 원래의 순서를 유지하는데, 이는 JSON에서 배열의 순서가 의미적으로 중요하기 때문입니다.
브라우저 메모리 제한으로 인해 최대 약 50MB까지만 현대 하드웨어에서 정상적으로 작동합니다. 그 이상의 용량은 명령줄에서 사용하는 jq을 고려해 보세요. 이 도구는 전체 문서를 로드하는 대신 스트리밍 방식으로 처리합니다.
관련 도구
색상 팔레트 생성기
보색, 유사색, 삼색, 분할 보색 배색으로 기준 색에서 조화로운 4-8색 팔레트를 생성합니다.
HEX 색상 선택기
어떤 색상을 시각적으로 선택하면 그 색상의 HEX, RGB, HSL, HSV 및 CMYK 값과 함께 흰색 및 검정색 대비의 접근성 대비도 확인할 수 있습니다.
무작위 수치 생성기
무작위 RGB 색상을 생성하고, 헥사드, HSL 및 RGB 값을 확인한 후 원하는 형식을 한 번 클릭으로 복사할 수 있습니다.
무작위 색상 팔레트 생성기
무작위 기본 색조를 기반으로 보완색, 유사색 및 삼원색 변형을 포함하는 다섯 가지 색상 팔레트를 생성합니다.
랜덤 문자 생성기
영문 알파벳에서 무작위 문자를 생성합니다. 대소문자 선택, 중복 문자 포함 여부 및 수량을 지정할 수 있습니다.
나이 계산기
생년월일로 정확한 나이를 년, 개월, 일 단위로 계산하고 총 일수, 시간, 다음 생일까지 남은 기간을 확인합니다.