JSON 정리 rfc 8259
JSON을 들여쓰기로 정렬하거나 한 줄로 압축하고, 문법 오류의 위치를 찾아 알려줍니다.
이 도구가 하는 일
JSON은 API 응답과 설정 파일에서 가장 널리 쓰이는 데이터 형식입니다. 사람이 읽기 쉽다는 것이 장점이지만, 실제로 전송되는 JSON은 용량을 줄이기 위해 공백 없이 한 줄로 압축되어 있는 경우가 많아 그대로는 구조를 파악하기 어렵습니다.
이 도구의 Beautify는 중첩 단계에 맞춰 들여쓰기와 줄바꿈을 넣어 데이터 구조를 눈으로 확인할 수 있게 만듭니다. Minify는 반대로 모든 불필요한 공백을 제거해 전송 크기를 줄입니다. 두 방향 모두 파싱을 거치기 때문에, 변환에 성공했다는 것 자체가 문법적으로 올바른 JSON이라는 검증이 됩니다.
문법 오류가 있으면 어느 위치에서 파싱이 실패했는지 함께 알려줍니다. JSON에서 가장 흔한 오류는 마지막 항목 뒤에 쉼표를 남기는 것(trailing comma), 키를 큰따옴표로 감싸지 않는 것, 작은따옴표를 사용하는 것, 문자열 안의 큰따옴표를 이스케이프하지 않는 것입니다. JavaScript 객체 리터럴에서는 허용되지만 JSON 표준(RFC 8259)에서는 모두 오류입니다.
언제 사용하나요
API 응답이 한 줄로 와서 구조를 파악하기 어려울 때, 설정 파일을 수정하기 전에 올바른 JSON인지 확인할 때, 로그에 기록된 JSON 문자열에서 특정 필드 값을 찾을 때, 다른 사람에게 데이터 구조를 설명하기 위해 정리된 형태로 만들 때, 요청 본문 크기를 줄이기 위해 압축할 때 사용합니다.
입력과 출력 예시
{"name":"alice","roles":["admin","dev"],"active":true}
{
"name": "alice",
"roles": [
"admin",
"dev"
],
"active": true
}
Beautify 방향. 중첩 구조가 한눈에 들어옵니다.
{"name":"alice",}
문법 오류: 마지막 쉼표 뒤에 값이 없습니다
trailing comma는 JavaScript에서는 허용되지만 JSON에서는 오류입니다.
주의사항
JSON 표준은 주석을 허용하지 않습니다. 주석이 포함된 설정 파일(JSON5, JSONC 형식)은 이 도구에서 오류로 표시됩니다. 또한 JavaScript의 숫자 표현 한계 때문에 아주 큰 정수는 정밀도가 손실될 수 있으므로, ID 값이 정수로 되어 있는 데이터를 다룰 때는 원본과 비교해 확인하십시오. 키 순서는 표준에서 의미가 없지만 도구에 따라 재정렬될 수 있습니다.
자주 묻는 질문
JSON에 주석을 넣을 수 없나요?
표준 JSON은 주석을 지원하지 않습니다. 주석이 필요하면 JSON5나 YAML 같은 형식을 쓰거나, _comment 같은 별도 키를 사용하는 방법이 있습니다.
작은따옴표를 쓰면 왜 오류인가요?
JSON 표준은 문자열과 키를 모두 큰따옴표로 감싸도록 정하고 있습니다. 작은따옴표는 JavaScript 객체 리터럴에서만 허용됩니다.
큰 숫자 ID가 이상하게 바뀝니다.
JavaScript의 숫자는 안전한 정수 범위가 정해져 있어 그보다 큰 값은 정밀도가 손실됩니다. 큰 ID는 문자열로 다루는 것이 안전합니다.