무료 변환기

JSON 포맷터 & 검증인

브라우저에서 즉시 JSON 형식을 지정하고, 다듬고, 유효성을 검사하세요. 업로드가 필요하지 않습니다. 완전히 비공개이며 무료입니다.

여기에 JSON 파일을 드래그 앤 드롭하세요.

.json 파일을 지원합니다. 또는 위 영역에 JSON을 붙여넣으세요.

또는

이 도구에 대하여

JSON 형식(종종 예쁜 인쇄 또는 미화라고도 함)은 압축된 JSON을 사용하고 공백(줄 바꿈, 들여쓰기, 일관된 간격)을 추가하여 구조를 사람이 볼 수 있도록 만듭니다. 컴팩트 JSON은 전송에 적합한 형식입니다. 전송 및 저장을 통해 바이트를 최소화합니다. 형식화된 JSON은 검사에 적합한 형식입니다. 들여쓰기된 계층 구조는 중첩된 구조를 한 눈에 보여주고, 차이를 의미 있게 만들고, 개발자가 문서를 정신적으로 구문 분석하지 않고도 특정 필드를 찾을 수 있도록 해줍니다.

이 포맷터는 입력을 JSON으로 구문 분석하여 유효한지 확인한 다음 일관된 들여쓰기로 다시 내보냅니다. 잘못된 입력으로 인해 구문 문제를 나타내는 오류가 발생합니다. 소스가 얼마나 콤팩트하거나 지저분한지에 관계없이 유효한 입력이 다시 형식화됩니다. 들여쓰기의 기본값은 가장 일반적인 JavaScript 규칙과 일치하는 공백 두 개입니다.

포맷터는 불필요한 공백을 모두 제거하여 가장 작은 유효한 JSON을 생성하는 축소(역연산)도 제공합니다. 축소된 출력은 프로덕션 전송에 유용합니다. 형식화된 출력은 개발 및 디버깅에 유용합니다.

JSON 형식을 지정하는 이유

들여쓰기 없이 깊게 중첩된 JSON을 읽는 것은 본질적으로 불가능합니다. 구조는 기술적으로 존재하지만 보이지 않습니다. 적당히 복잡한 JSON이라도 형식 지정을 통해 엄청난 이점을 얻을 수 있습니다. 코드 검토자, API 디버거 및 데이터 페이로드를 이해하려는 사람은 실제로 무엇이 있는지 확인하기 위해 형식화된 JSON이 필요합니다.

형식 지정 시에도 오류가 발생합니다. JSON이 형식 지정 중에 구문 분석에 실패하면 오류 메시지는 구문 문제의 정확한 위치를 식별합니다. 종종 누락된 쉼표, 따옴표가 없는 키 또는 생성 시스템에서 플래그를 지정하지 않은 길 잃은 후행 쉼표 등이 있습니다. 포맷터는 사용 가능한 가장 간단한 JSON 유효성 검사기입니다.

사용 방법

JSON을 붙여넣고 형식을 클릭합니다.

  1. JSON을 붙여넣으세요.: 원시 또는 압축 JSON을 입력 영역에 붙여넣습니다. .json 파일의 드래그 앤 드롭도 작동합니다.
  2. 들여쓰기 선택: 기본값은 공백 2개입니다. 해당 규칙을 따르는 프로젝트에는 공백 4개를 사용하고, 다운스트림 도구에 필요한 경우 탭을 사용하세요.
  3. 형식: 입력은 JSON.parse를 통해 구문 분석되어 유효성을 확인한 다음 JSON.stringify 및 선택한 들여쓰기로 직렬화됩니다. 입력 오류로 인해 문제 위치를 식별하는 구문 분석 오류 메시지가 생성됩니다.
  4. 복사 또는 다운로드: 형식이 지정된 JSON을 클립보드에 복사하거나 .json으로 저장합니다. 출력은 구조적으로 입력과 동일하지만 공백이 일관됩니다.

일반적인 사용 사례

기술적인 세부사항

포맷터는 모든 JavaScript 런타임이 제공하는 동일한 쌍인 JSON.parse 및 JSON.stringify를 사용합니다. 구문 분석은 RFC 8259(현재 JSON 사양)를 따르며 엄격한 JSON은 허용하지만 JavaScript 개체 리터럴, 주석, 후행 쉼표 및 기타 JSON5 확장은 거부합니다.

JSON.stringify는 숫자(공백) 또는 문자열(탭과 같은 사용자 정의 들여쓰기 문자)과 같은 들여쓰기 인수를 허용합니다. 포맷터는 두 옵션을 모두 표시합니다. 출력은 객체의 소스 순서로 정렬됩니다(ES2015는 모든 주요 엔진에서 속성 삽입 순서를 유지하므로).

극단적인 경우: Number.MAX_SAFE_INTEGER를 초과하는 큰 숫자는 구문 분석 시 정밀도를 잃습니다(알려진 JSON 제한 사항, 2^53을 초과하는 ID에는 문자열 값 사용). 문자열의 유니코드 이스케이프는 문자 그대로 유지됩니다. 후행 공백은 각 줄에서 제거됩니다.

모범 사례

자주 묻는 질문

이 도구는 어떤 유형의 JSON 오류를 감지합니까?
이 도구는 RFC 8259 JSON 사양에 따라 누락된 쉼표, 일치하지 않는 대괄호/중괄호, 잘못된 문자열 이스케이프, 후행 쉼표, 작은따옴표로 묶인 문자열 및 기타 구문 위반을 감지합니다.
매우 큰 JSON 파일을 처리할 수 있나요?
예. 포맷터는 기본 JavaScript 구문 분석을 사용하여 브라우저에서 JSON을 처리하므로 최대 수 메가바이트의 파일을 효율적으로 처리합니다. 매우 큰 파일(50MB 이상)의 경우 처리 시간은 장치에 따라 다릅니다.
주석이 포함된 JSON(JSONC)을 지원합니까?
표준 JSON은 주석을 허용하지 않습니다. 입력 내용에 주석이 포함된 경우 유효성 검사기는 해당 주석을 오류로 표시합니다. JSONC를 지원하려면 서식을 지정하기 전에 주석을 제거하세요.
서식을 지정하면 데이터 값이 변경되나요?
아니요. 서식 지정은 공백과 들여쓰기만 조정합니다. 데이터 유형, 값 및 구조는 정확히 동일하게 유지됩니다.
JSON5 기능(주석, 후행 쉼표)이 지원됩니까?
아니요. 포맷터는 RFC 8259를 엄격하게 따릅니다. JSON5 기능으로 인해 구문 분석 오류가 발생합니다. JSON5로 작업하려면 먼저 JSON5 파서를 사용하여 표준 JSON으로 변환하세요.
내 JSON이 서버에 업로드되나요?
아니요. 내장된 JSON 기능을 사용하여 브라우저에서 구문 분석 및 형식 지정이 전적으로 이루어집니다.
숫자가 크면 정밀도가 떨어지나요?
JavaScript는 숫자를 64비트 부동 소수점으로 나타내므로 2^53(약 9000조)보다 큰 정수는 정밀도를 잃습니다. ID 또는 기타 큰 정수 값의 경우 JSON에 문자열로 저장하세요.
키를 알파벳순으로 정렬할 수 있나요?
JSON.stringify는 키를 정렬하지 않습니다. 문자열을 지정하기 전에 별도의 정렬 단계(또는 정렬 지원이 포함된 포맷터)를 사용하여 키를 알파벳순으로 정렬하세요.