JSON 정렬·문법 검사

JSON을 들여쓰기로 보기 좋게 정렬하거나, 한 줄로 압축하거나, 접고 펼 수 있는 트리로 보여 줍니다. 문법 오류는 줄·문자 위치와 해당 부분을 함께 표시합니다.

사용 방법

  1. "입력(JSON)"에 JSON을 붙여 넣습니다.
  2. 들여쓰기(공백 2칸·4칸·탭)를 고르고 "정렬하기"를 누릅니다. 한 줄로 만들려면 "한 줄로 압축", 확인만 하려면 "문법 검사만"을 누릅니다.
  3. "트리 보기"를 누르면 객체와 배열을 접고 펼 수 있는 트리로 보여 줍니다. "모두 펼치기", "모두 접기"로 한 번에 바꿀 수 있습니다.
  4. 오류가 있으면 줄·문자 위치와 주변 내용이 표시됩니다. 수정한 뒤 다시 눌러 주세요.
  5. 결과를 "복사"하거나 "다운로드"로 .json 파일로 저장합니다.

주의 사항

  • 입력은 5MB까지, 중첩은 1,000단계까지 처리합니다.
  • 표준 JSON(RFC 8259)만 지원합니다. 주석, 끝 쉼표, 작은따옴표, NaN·Infinity 등은 오류로 표시됩니다.
  • 중복 키는 오류로 처리하지 않고 그대로 남긴 채 경고합니다.
  • 트리 보기는 값이 2만 개 이하인 JSON에서 쓸 수 있습니다. 더 크면 "정렬하기"를 사용해 주세요.
  • 맨 앞의 BOM은 제거하고 처리합니다. 결과의 줄바꿈은 LF입니다.
  • 입력 내용은 저장하지 않습니다. 페이지를 닫으면 사라집니다.

계산·변환 방식

JSON.parse 대신 문자를 하나씩 읽는 자체 분석기로 문법을 확인합니다. 그래서 오류 설명과 위치가 브라우저마다 달라지지 않습니다.

문자열과 숫자는 입력된 그대로 출력합니다. 2의 53제곱을 넘는 큰 정수의 자릿수 손실, 1.0이 1로 바뀌는 변화, 1e400이 null이 되는 변화, \u0041 같은 이스케이프의 변경이 일어나지 않습니다. 바뀌는 것은 공백과 줄바꿈뿐입니다.

같은 객체 안에 같은 키가 두 번 이상 나오면 키 이름, 위치(예: $.items[0]), 줄·문자 위치를 표시합니다. 대부분의 프로그램은 마지막 값만 사용합니다.

트리 보기도 같은 분석 결과로 만들기 때문에 값은 입력된 문자 그대로 표시됩니다(큰 정수도 자릿수가 바뀌지 않습니다). 키 이름만 이스케이프를 풀어서 표시합니다.

압축하면 압축 전후의 크기(UTF-8 바이트 수)를 표시합니다.

자주 묻는 질문

입력한 JSON이 어딘가로 전송되나요?

아니요. 정렬과 검사는 모두 브라우저 안에서 이루어지며 서버로 전송하지 않습니다.

큰 숫자의 자릿수가 바뀌지는 않나요?

바뀌지 않습니다. 숫자는 적힌 문자 그대로 출력하므로 12345678901234567890 같은 값도 그대로 남습니다. 트리 보기에서도 마찬가지입니다.

주석이 있는 JSON(JSONC)도 되나요?

지원하지 않습니다. 주석 위치에서 오류가 표시됩니다. 주석을 지운 뒤 정렬해 주세요.

문자 위치는 어떻게 세나요?

줄의 첫 문자를 1번째로 하고, 이모지나 탭도 한 문자로 셉니다.

최종 업데이트: