JSON 포매터

스마트 들여쓰기와 구문 강조로 JSON 데이터를 포맷, 검증, 미화합니다

로컬에서 실행

JSON 입력

서식 지정된 출력

0 바이트

검사기

유효한 JSON을 붙여넣으면 구조, 트리, 키 경로가 여기에 자동으로 표시됩니다

고급 옵션

다른 JSON과 비교

이 JSON을 Data Diff로 전송하고 두 번째 버전을 붙여넣어 변경된 내용을 확인하세요.

바로 조치할 수 있는 검증 결과

검증은 키 입력마다 실행됩니다. JSON이 유효하면 객체, 배열, 키, 깊이 개수가 실시간으로 표시됩니다. 유효하지 않다면 정확한 줄과 열, 추정 원인, 편집기에서 오류 위치를 가리키는 하이라이트와 함께 오류가 보고됩니다 — 단순한 "Invalid JSON" 메시지가 아닙니다.

이 도구가 정확히 짚어 주는 흔한 JSON 오류

이 네 가지 실수가 대부분의 잘못된 JSON의 원인입니다. 각 실수는 위치와 추정 원인과 함께 감지됩니다:

후행 쉼표

닫는 } 또는 ] 앞에 오는 쉼표입니다. 다음 줄에서 "unexpected token"으로 보고되며, 원인 메시지가 해당 쉼표를 가리킵니다.

누락되거나 짝이 맞지 않는 따옴표

종료되지 않은 문자열이 문서의 나머지 부분을 모두 삼켜 버립니다. 파서는 실제 실수와 동떨어진 위치에서 unexpected token을 보고하지만, 줄/열 하이라이트가 어디를 봐야 할지 알려 줍니다.

예상치 못한 토큰

큰따옴표 대신 작은따옴표 사용, 주석, 따옴표 없는 키가 원인입니다. 표준 JSON(RFC 8259)은 모든 문자열과 키에 큰따옴표를 요구합니다.

잘못된 이스케이프 시퀀스

유효한 이스케이프는 \" \\ \/ \b \f \n \r \t와 \uXXXX뿐입니다. 단독으로 쓰인 백슬래시는 잘못된 시퀀스의 정확한 위치에서 오류를 일으킵니다.

변경 전 / 후

왼쪽은 축소된 API 응답, 오른쪽은 2칸 들여쓰기로 포맷팅한 동일한 데이터입니다. 구조, 트리, 경로는 파싱된 문서를 기준으로 업데이트됩니다.

Before
{"user":{"id":123,"name":"Chen","roles":["admin","editor"],"active":true}}
After
{
  "user": {
    "id": 123,
    "name": "Chen",
    "roles": [
      "admin",
      "editor"
    ],
    "active": true
  }
}

JSON 표준 빠른 참조 (RFC 8259)

  • 두 가지 구조: 객체(순서 없는 이름/값 쌍, {})와 배열(순서 있는 값, []).
  • 값은 큰따옴표로 묶인 문자열, 숫자, true, false, null, 객체 또는 배열입니다.
  • 숫자는 선행 0을 가질 수 없으며, 1E10과 0.5e-2 형태의 지수 표기는 허용됩니다.
  • 문자열에는 리터럴 제어 문자를 포함할 수 없습니다 — 반드시 이스케이프(\n, \t, \uXXXX)해야 합니다.
  • 주석 없음, 후행 쉼표 없음, 작은따옴표 없음 — 이 엄격한 문법이 JSON의 이식성을 만듭니다.

이 데이터로 다음 단계 진행하기

포맷팅은 첫 단계입니다. 브라우저를 떠나지 않고 워크플로를 이어가세요:

자주 묻는 질문

Json Formatter 서식 지정에 대한 일반적인 질문에 답변합니다

네, 저희 JSON 포매터는 완전 무료이며 회원가입이 필요하지 않습니다. 모든 처리는 브라우저에서 이루어집니다.

JSON 데이터를 에디터에 붙여넣고 Validate를 클릭하기만 하면 됩니다. 도구가 즉시 문법을 검사하고, 줄 번호와 함께 오류를 보고하며, 객체/배열/속성 개수를 표시합니다.

JSON 축소(minification)는 불필요한 공백을 모두 제거하여 파일 크기를 줄입니다. 대역폭을 절약하고 로드 시간을 개선하려면 JSON을 프로덕션에 배포하기 전에 사용하세요.

네, 포매터는 최적화된 파싱 알고리즘으로 최대 10MB 파일을 지원합니다. 대용량 API 응답, 데이터베이스 내보내기, 설정 파일도 효율적으로 처리됩니다.

포매터는 엄격한 RFC 8259 JSON 사양을 따릅니다. trailing comma나 주석이 포함된 JSON은 유효한 표준 JSON이 아니므로, 검증 시 해당 부분이 오류로 보고됩니다.

\u00e9 같은 이스케이프는 표시를 위해 디코딩되고, 비 ASCII 텍스트는 다시 이스케이프하지 않고 그대로 유지됩니다. 숫자와 문자열이 섞인 배열을 정렬할 때는 안정 정렬(stable sort) 의미론(동일한 키는 원래 순서를 유지)을 따르며, 이는 ECMA-262에 따라 최신 엔진이 Array.prototype.sort를 구현하는 방식과 일치합니다.

네. 옵션 패널에서 키 정렬을 활성화하면 모든 중첩 수준에서 객체 속성이 알파벳 순으로 재정렬됩니다. 정렬을 사용하면 설정 파일과 API 픽스처를 버전 관리에서 diff하기가 더 쉬워집니다. 관련 없는 키 추가가 더 이상 파일 전체에 변경 사항을 흩뿌리지 않기 때문입니다.

JSON 자체에는 정수 크기 제한이 없지만, JavaScript의 Number 타입은 안전한 정수 53비트만 저장합니다. 9,007,199,254,740,991(2^53 - 1)을 넘는 값이나 고정밀 소수는 반올림됩니다. 이는 포매터의 버그가 아니라 ECMA-262에 문서화된 JavaScript 엔진의 제약이며, API 설계 시 이러한 값은 문자열로 취급하세요.

{-- * External Resources Component(#19 Phase 3b 内容佐证工程) * 工具页「权威引用」区块:RFC / W3C / WHATWG / ECMA / IANA / 官方规范站 / 官方语言文档 / Wikipedia。 * * - 接受 :slug 属性 → 经 config/tool-sources.php 家族矩阵渲染该工具的权威引用 * - slug 未命中映射时不渲染(无权威来源的工具静默跳过) * - 链接 title 保持英文(引用源专名);description 经 * common.resources.descriptions.{key} 本地化,lang 未命中回退英文(线上不裸奔) * - 链接保持 dofollow(rel="noopener noreferrer") * * @param string|null $slug --}}

관련 도구