JSON 정렬 포맷터
JSON을 붙여넣으면 공백 2칸, 4칸 또는 탭으로 보기 좋게 정리하거나 한 줄로 압축합니다. JSON이 잘못됐다면 오류가 난 줄과 열 번호를 알려 줍니다.
사용 방법
- 입력 칸에 JSON을 붙여 넣습니다.
- 정렬을 고르고 들여쓰기를 공백 2칸, 4칸, 탭 중에서 정합니다. 불필요한 공백을 없애려면 압축, 문법만 확인하려면 검사를 누르세요. 키 정렬에 체크하면 객체의 키가 A부터 Z 순서로 놓입니다.
- JSON이 잘못됐으면 줄과 칸 번호가 나오고, 버튼을 누를 때 커서가 그 자리로 갑니다. 고치는 동안 결과가 바로바로 바뀝니다.
- 복사를 누르면 결과가 복사됩니다.
계산 방법
브라우저에 내장된 JSON 파서로 읽은 다음, 고른 들여쓰기로 다시 써 줍니다. 읽다가 실패하면 브라우저 오류 메시지에서 문자 위치를 찾아 줄과 칸으로 바꿉니다. Chrome, Edge, Firefox, Safari는 메시지 형식이 서로 달라서, Safari에서는 일부 오류에 위치 없이 메시지만 보일 수 있습니다.
키 정렬은 문자 코드 순서이고 모든 단계에 적용됩니다. 배열 순서는 그대로 둡니다. 자바스크립트 객체는 "1", "2" 같은 정수 키를 항상 앞에 두기 때문에 이런 키는 숫자 순서로 맨 위에 남습니다.
결과는 새로 직렬화한 것이라 입력과 조금 다를 수 있습니다. 중복 키는 마지막 값만 남고, \u00e9 같은 이스케이프는 원래 글자로 바뀌며, 숫자는 가장 짧은 형태(1.0은 1)로 나옵니다.
자주 나는 JSON 오류
| 실수 | 예시 | 고치는 법 |
|---|---|---|
| 끝에 남은 쉼표 | {"a": 1,} | 마지막 쉼표 삭제 |
| 작은따옴표 | {'a': 1} | 큰따옴표로 바꾸기 |
| 따옴표 없는 키 | {a: 1} | "a"로 쓰기 |
| 주석 | {"a": 1} // 메모 | 삭제(JSON에는 주석이 없음) |
| 빠진 쉼표 | {"a": 1 "b": 2} | 항목 사이에 쉼표 넣기 |
자주 묻는 질문
붙여 넣은 JSON이 서버로 전송되나요?
아니요. 읽기와 정렬 모두 브라우저 안에서 처리하고 서버로 보내지 않습니다. API 응답이나 설정 파일을 넣어도 기기 밖으로 나가지 않습니다.
멀쩡해 보이는데 왜 오류가 나나요?
흔한 원인은 끝에 붙은 쉼표, 큰따옴표 대신 쓴 작은따옴표, 따옴표 없는 키, 주석, 항목 사이에 빠진 쉼표입니다. JSON은 자바스크립트 객체보다 문법이 엄격합니다.
정렬과 압축은 뭐가 다른가요?
정렬은 줄바꿈과 들여쓰기를 넣어 사람이 읽기 쉽게 만듭니다. 압축은 문자열 밖의 공백을 모두 지워 가장 짧게 만들어서 요청 본문이나 저장용으로 알맞습니다.
키를 정렬하면 데이터 의미가 바뀌나요?
바뀌지 않습니다. JSON 객체의 키 순서는 대부분의 프로그램에서 의미가 없습니다. 배열 순서는 건드리지 않습니다.
오류 위치가 한 칸 어긋나 보이는 이유는요?
파서는 읽기를 포기한 지점을 알려 주는데, 실제 실수보다 조금 뒤인 경우가 많습니다. 쉼표가 빠졌다면 그다음 글자를 가리키는 식입니다. 표시된 곳 앞줄도 함께 보세요.