JSON 정리 도구
input.json
여기에 JSON을 붙여넣으세요
또는 이 영역 어디든 .json 파일을 끌어다 놓으세요
정렬된 출력이 여기에 표시됩니다.
읽을 수 없는 JSON의 세 가지 유형
“이걸 좀 보기 좋게”라는 요청은 보통 서로 다른 세 문제 중 하나이며, 각각 전용 버튼이 있습니다.
1. 유효하지만 압축된 경우
긴 한 줄에 공백이 없는 상태입니다. 정렬을 누르세요. 문서가 파싱되므로 들여쓰기와 함께 다시 직렬화하기만 하면 되는 쉬운 경우입니다. 필요한 가지만 열 수 있기 때문에 트리 뷰어가 더 빠를 때도 많습니다.
2. 유효하지만 JSON이 문자열 안에 있는 경우
로그 수집기, 메시지 큐, 데이터베이스 TEXT 컬럼은 JSON 문서를 JSON 문자열로 인코딩해
돌려주는 일이 흔합니다. 백슬래시가 빽빽한 모습으로 도착합니다.
"{\"user\":{\"id\":41,\"tags\":[\"a\",\"b\"]}}"
이것을 정렬하면 아주 긴 문자열 하나가 나옵니다. 실제로 문자열이 전부이기 때문입니다. 대신 이스케이프 해제를 누르세요. 겉의 문자열이 파싱되고 안쪽 문서가 해독되어 실제 구조가 나타납니다. 두 번 인코딩된 데이터라면 버튼을 두 번 누르면 됩니다.
3. 아예 유효한 JSON이 아닌 경우
JavaScript 소스에서 복사한 조각, 파이썬 REPL 출력, 주석이 있는 수동 편집 설정, JSONP 응답은 모두 “JSON에 가까운” 텍스트입니다. 복구를 누른 뒤 정렬하세요. 처리 대상은 이렇습니다.
{name: "ada"}→ 속성 이름에 따옴표가 붙습니다{'name': 'ada'}→ 작은따옴표가 큰따옴표로 바뀝니다[1, 2, 3, ]→ 마지막 쉼표가 제거됩니다// 메모와/* 메모 */→ 주석이 제거됩니다{"ok": True, "x": None}→ 파이썬 리터럴이true와null이 됩니다{"n": NaN}→ JSON은 NaN을 표현할 수 없으므로null이 됩니다cb({"a":1})→ JSONP 래퍼가 제거됩니다-
{"a":1}{"a":2}→ 줄 단위 JSON이 배열로 묶입니다
복구는 결과를 조용히 적용하지 않고 편집기에 올려 두므로, 믿기 전에 무엇이 달라졌는지 읽어 볼 수 있습니다.
비교를 위한 키 정렬
같은 데이터를 다른 속성 순서로 담은 두 문서를 비교하는 일은 번거롭습니다. 키 정렬은 모든 깊이의 객체를 A→Z로 정렬하므로, 양쪽을 정리한 뒤 정렬하면 텍스트 diff가 실제 차이만 보여 줍니다. 배열 순서는 건드리지 않습니다. 배열에서 순서는 서식이 아니라 데이터입니다.
아주 큰 문서
약 1.5MB를 넘으면 편집기는 입력마다 다시 파싱하지 않고 정렬을 누를 때까지 기다리므로 입력과 붙여넣기가 부드럽게 유지됩니다. 400KB를 넘는 정리 결과는 문법 색상 없이 표시됩니다. 그만한 양의 텍스트를 토큰으로 나누는 비용이 색이 주는 이득보다 크기 때문입니다. 트리는 크기와 상관없이 완전히 사용할 수 있습니다.
자주 묻는 질문
정리와 정렬은 다른 작업인가요?
아닙니다. 같은 작업의 다른 이름입니다. 이 페이지가 따로 있는 이유는 여기 들어오는 입력이 보통 더 지저분하기 때문입니다. 압축된 덩어리, 이스케이프된 문자열, 로그 줄, JSON에 가까운 방언들이죠. 복구 버튼이 한 번의 클릭 거리에 놓여 있습니다.
복구는 정확히 무엇을 바꾸나요?
BOM, //와 /* */ 주석, JSONP 래퍼를 제거하고, 작은따옴표 문자열과 따옴표 없는 키를 큰따옴표로 바꾸고, 마지막 쉼표를 없애고, True/False/None을 JSON 리터럴로 옮기고, NaN·Infinity·undefined를 null로 바꾸고, 문자열 안의 원시 줄바꿈을 이스케이프하고, 줄 단위 JSON을 배열로 감쌉니다.
복구가 데이터를 손상시킬 수 있나요?
텍스트를 다시 쓰는 작업이므로 결과를 확인하세요. 복구된 문서가 조용히 적용되지 않고 편집기에 올라오는 이유가 바로 그것입니다. 정보를 잃는 변환은 두 가지입니다. NaN/Infinity가 null이 되는 것과, 따옴표 없는 낱말이 문자열이 되는 것입니다. 그 밖의 변경은 모두 문법에만 관한 것입니다.
복구가 실패하면 어떻게 되나요?
그 사실을 알리는 메시지가 나오고, 검사기 오류가 줄·칸·표식과 함께 화면에 남습니다. 잘린 문서나 실제로 깨진 바이트는 사람이 봐야 합니다. 복구는 문법 방언을 다루지, 사라진 데이터를 되살리지는 못합니다.
나머지 도구
같은 엔진, 같은 개인정보 보호 — 모든 페이지가 브라우저 안에서만 동작합니다.