사용 방법
- 왼쪽 칸에 JSON을 붙여넣거나 입력하세요. 입력하는 동안 바로 검사돼요.
- 들여쓰기를 고르세요. 공백 2칸, 공백 4칸, 탭, 또는 한 줄로 만드는 압축 중에서 선택할 수 있어요.
- 키 정렬을 체크하면 객체 키가 알파벳순으로 정렬되어 두 문서를 비교하기 쉬워져요.
- 오류가 있으면 메시지에 행과 열이 표시되고, 없으면 결과를 복사하거나 다운로드하세요.
옵션 설명
- 들여쓰기
- 공백 2칸이 가장 흔한 스타일이에요(npm, Prettier). 공백 4칸은 Python의 json.dumps(indent=4)와 같고, 압축은 모든 공백을 없애 크기를 최소로 줄여요.
- 키 정렬
- 모든 단계의 객체 키를 디코딩된 값 기준으로 정렬해요. 배열 순서는 절대 바꾸지 않아요.
- 큰 숫자
- 숫자는 쓰인 그대로 유지돼요. 많은 포맷터가 JSON을 JavaScript 숫자로 파싱하는데, 그러면 12345678901234567890이 조용히 12345678901234567000으로 바뀌어요.
자주 발생하는 JSON 오류와 해결 방법
| 메시지 | 흔한 원인 |
|---|---|
예상치 못한 문자 ' |
큰따옴표 대신 작은따옴표를 사용 |
| 끝에 오는 쉼표 | 마지막 항목 뒤의 쉼표: [1, 2,] |
예상치 못한 문자 / |
JavaScript에서 복사해 온 // 주석 |
| 문서가 너무 일찍 끝남 | } 또는 ] 누락, 복사하다 잘린 경우가 많음 |
| 제어 문자는 이스케이프해야 함 | 문자열 안의 실제 탭이나 줄바꿈 — \t 또는 \n 사용 |
| 문서 끝 뒤의 예상치 못한 내용 | JSON 문서 두 개를 이어 붙였거나, 닫는 괄호 뒤에 텍스트가 있음 |
예시
입력:
{"id":9007199254740993,"name":"Ada","tags":["math","code"]}
공백 2칸으로 정렬한 결과 — ID가 그대로인 점에 주목하세요:
{
"id": 9007199254740993,
"name": "Ada",
"tags": [
"math",
"code"
]
}
자주 묻는 질문
"끝에 오는 쉼표를 허용하지 않아요"라는 오류는 왜 나오나요?
표준 JSON(RFC 8259)은 JavaScript와 달리 객체나 배열의 마지막 항목 뒤에 쉼표를 허용하지 않아요. 닫는 } 또는 ] 앞의 쉼표를 지우세요.
JSON에 작은따옴표나 주석을 써도 되나요?
아니요. JSON 문자열은 큰따옴표를 써야 하고, 주석은 형식에 포함되지 않아요. tsconfig.json 같은 파일이 이를 허용하는 건 해당 도구가 느슨한 파서(JSONC)를 쓰기 때문이에요.
JSON이 서버로 전송되나요?
아니요. 파싱과 정렬은 브라우저에서 이루어지므로 API 응답, 토큰, 설정 파일이 기기 밖으로 나가지 않아요.
다른 도구에서는 큰 ID 값이 왜 바뀌나요?
JavaScript는 숫자를 64비트 부동소수점으로 저장하는데, 이 방식은 9,007,199,254,740,991까지만 정확해요. 이 도구는 숫자를 변환하지 않으므로 그보다 큰 ID도 그대로 유지돼요.
얼마나 큰 파일까지 처리할 수 있나요?
몇 메가바이트짜리 문서는 노트북에서 즉시 정렬돼요. 수백 메가바이트 파일이라면 jq 같은 명령줄 도구가 더 알맞아요.
개인정보 보호
이 도구는 전적으로 브라우저에서 실행돼요. 파일과 텍스트는 기기에서 처리되며 서버로 업로드되지 않아요.