JSON 포맷터·검사

브라우저 안에서만 처리됩니다. 입력한 내용과 선택한 파일은 서버로 전송되지 않습니다.

결과

JSON 을 입력하면 여기에 정리된 결과가 나옵니다.

사용법

  1. JSON 을 입력 칸에 붙여넣습니다. 입력을 멈추면 곧바로 검사하고 정리합니다.
  2. 들여쓰기(2칸·4칸·탭)를 고르거나 "한 줄로 압축"을 골라 최소 크기로 만듭니다. 필요하면 키를 가나다순으로 정렬할 수 있습니다.
  3. 문법이 틀렸으면 몇 번째 줄 몇 번째 칸이 왜 잘못됐는지와 그 자리의 글자를 보여 줍니다. 고친 뒤 결과를 복사하세요.

자주 묻는 질문

후행 쉼표나 홑따옴표가 있는 JSON 도 읽어 주나요?

아니요. 어디가 왜 잘못됐는지는 정확히 알려 주지만 고쳐서 받아 주지는 않습니다. 후행 쉼표(`{"a":1,}`), 홑따옴표, 따옴표 없는 키, 주석, NaN·Infinity, 맨 앞의 BOM 을 각각 구분해 설명합니다. 관대하게 읽어 주면 "이 사이트에서는 통과했는데 서버에서는 안 된다"가 되기 때문에, 여기서 통과한 문서는 어떤 파서에 넣어도 통과하도록 표준 그대로만 받습니다.

정리하면 숫자 값이 바뀌지 않나요?

바뀌지 않습니다. 흔한 구현처럼 JSON.parse 로 읽고 JSON.stringify 로 다시 쓰면 숫자가 부동소수점을 한 번 거치면서 `1.0` 이 `1` 이 되고 20자리 정수는 뒷자리가 0 으로 바뀝니다. 이 도구는 숫자를 원문 문자열 그대로 들고 있다가 그대로 다시 씁니다. 다만 문자열 안의 `\uAC00` 같은 이스케이프는 실제 글자(`가`)로 풀립니다. JSON 으로서는 같은 값이고, 원래대로 받고 싶으면 "한글·이모지를 \u 로 이스케이프" 를 켜세요.

같은 키가 두 번 있으면 어떻게 되나요?

JSON 표준은 중복 키를 금지하지 않아서 오류로 처리하지 않습니다. 대신 몇 개가 어디에 있는지 알려 주고 두 항목을 모두 남깁니다. 대부분의 파서는 조용히 마지막 값을 쓰기 때문에, 이걸 모르고 넘어가면 데이터가 사라진 것처럼 보입니다.

아주 큰 JSON 도 되나요?

됩니다. 50만 자를 넘으면 자동 검사를 멈추고 "지금 검사하기" 버튼을 띄웁니다(키를 누를 때마다 전체를 다시 계산하지 않기 위해서입니다). 결과는 화면에 앞 2만 자만 그리고 복사 버튼에는 언제나 전체를 넘깁니다 — 10 MB 짜리 결과를 통째로 화면에 그리면 계산이 끝난 뒤에 브라우저가 레이아웃에서 몇십 초씩 멈추기 때문입니다.

입력한 JSON 이 서버로 전송되나요?

아니요. 검사와 변환이 모두 브라우저 안에서 끝납니다. 개발 중인 API 응답이나 설정 파일에는 키·토큰이 들어 있기 마련인데, 그런 것을 다른 서버로 보내는 경로가 이 페이지에는 없습니다.