JSON 포매터 · 검사기

JSON을 붙여넣어 보기 좋게 정렬하거나 압축하고, 어디가 잘못됐는지 정확히 찾아보세요. 모든 작업이 브라우저에서 이루어지며 업로드되지 않습니다.

JSON 입력

들여쓰기
내 기기에서 검사합니다. JSON은 업로드되지 않습니다.

결과

유효한 JSON
크기
—
키
—
중첩 깊이
—

JSON 포매터 사용 방법

이 JSON 포매터는 JSON을 붙여넣는 즉시 검사하고 보기 좋게 정렬해 줍니다. 아무것도 설치하지 않고 API 응답을 읽거나, 설정 파일을 고치거나, 테스트 데이터를 정리할 수 있습니다.

  1. 입력란에 JSON을 붙여넣거나 예시 불러오기를 눌러 사용해 보세요.
  2. 들여쓰기를 고르세요. 공백 2칸(JavaScript 프로젝트에서 흔함), 공백 4칸(Python과 Java에서 흔함), 탭 중에서 선택할 수 있습니다.
  3. 읽기 쉬운 결과는 정렬, 가장 짧은 텍스트는 압축을 선택하세요.
  4. 복사를 누르거나, .json 다운로드로 결과를 파일로 저장하세요.

JSON이 잘못되어 있으면 출력란 대신 오류 메시지가 표시됩니다. 줄 번호와 열 번호, 그리고 정확한 위치 아래에 캐럿(^)이 표시된 짧은 발췌가 함께 나옵니다.

자주 발생하는 JSON 오류와 해결 방법

JSON은 JavaScript처럼 보이지만 규칙이 훨씬 엄격합니다. "유효하지 않은 JSON" 오류는 대부분 다음 실수에서 생깁니다.

잘못된 예올바른 예이유
{'name': 'Ana'}{"name": "Ana"}문자열과 키는 큰따옴표로 감싸야 합니다.
{name: "Ana"}{"name": "Ana"}키는 따옴표로 감싸야 합니다.
[1, 2, 3,][1, 2, 3]마지막 항목 뒤에는 쉼표를 쓰지 않습니다.
{"a": 1 "b": 2}{"a": 1, "b": 2}항목은 쉼표로 구분합니다.
{"n": 007}{"n": 7}숫자 앞에 0을 붙일 수 없습니다.
{"ok": True}{"ok": true}true, false, null은 소문자로 씁니다.
// comment(삭제)주석은 JSON 문법에 없습니다.

오류가 어떤 줄을 가리킬 때 실제 실수는 그 바로 앞에 있는 경우가 많습니다. 예를 들어 빠진 쉼표는 파서가 다음 값에 도달해서야 발견됩니다.

포매터 작동 방식

이 도구는 JSON 표준(RFC 8259)에 따라 텍스트를 한 글자씩 읽습니다. 읽으면서 정렬된 결과를 만들고, 규칙이 처음 어긋나는 곳에서 멈춥니다. 값을 JavaScript 숫자로 변환하지 않기 때문에 64비트 ID나 긴 소수 같은 아주 큰 숫자도 입력한 그대로 유지되며, \u00e9 같은 이스케이프 시퀀스도 손대지 않습니다.

출력 아래의 수치는 결과의 크기, 모든 객체에 있는 키의 개수, 가장 깊은 중첩 단계를 보여 줍니다. 깊은 중첩은 기계에는 문제가 없지만, 구조가 필요 이상으로 복잡하다는 신호일 수 있습니다.

정렬할까, 압축할까?

같은 객체를 두 가지 방식으로 나타내면 다음과 같습니다.

{"id":7,"tags":["a","b"]}

{
  "id": 7,
  "tags": [
    "a",
    "b"
  ]
}

웹에서는 gzip이나 Brotli 압축이 이미 공백을 잘 줄여 주므로, 압축(minify)은 다운로드 속도보다는 저장 용량 제한과 요청 크기 면에서 주로 의미가 있습니다.

개인정보와 한계

JSON은 브라우저 탭 안에서만 처리되며 아무것도 업로드되거나 기록되지 않습니다. 수 메가바이트 파일도 문제없이 처리되지만, 아주 큰 입력은 느린 휴대폰에서 정렬하는 데 잠시 시간이 걸립니다. 그렇더라도 필요하지 않다면 실제 사용 중인 비밀번호나 개인 키를 이 사이트를 포함한 어떤 웹사이트에도 붙여넣지 마세요.

자주 묻는 질문

JSON을 온라인에서 정렬하려면 어떻게 하나요?

입력란에 JSON을 붙여넣으세요. 즉시 검사되고 공백 2칸으로 보기 좋게 정렬됩니다. 원하면 공백 4칸이나 탭으로 바꾼 뒤 결과를 복사하거나 .json 파일로 다운로드하세요.

제 JSON은 왜 유효하지 않나요?

가장 흔한 원인은 큰따옴표 대신 작은따옴표 사용, 마지막 항목 뒤의 쉼표, 항목 사이에 빠진 쉼표, 주석, 따옴표 없는 키입니다. 오류 메시지에 첫 번째 문제가 있는 줄과 열이 표시됩니다.

JSON 압축(minify)이란 무엇인가요?

문자열 안에 있지 않은 모든 공백과 줄바꿈을 없애는 것입니다. 데이터는 그대로지만 파일이 작아져 API, 설정 값, 저장 공간에 유용합니다.

JSON에 주석이나 마지막 쉼표를 써도 되나요?

아니요. 표준 JSON(RFC 8259)은 둘 다 허용하지 않습니다. 일부 도구는 이를 허용하는 JSONC나 JSON5를 받아들이지만, 브라우저와 대부분의 API에 있는 엄격한 파서는 거부합니다.

제 JSON이 서버로 전송되나요?

아니요. 파싱과 정렬은 모두 브라우저에서 JavaScript로 이루어집니다. 데이터가 기기 밖으로 나가지 않으므로 API 키나 고객 데이터에도 안전하지만, 비밀 정보는 공유하지 않는 것이 좋습니다.