도구
KO

JSON 스키마 생성기

예시 JSON 문서를 붙여넣으면 그 구조를 설명하는 JSON 스키마가 만들어집니다. 타입, 필수 속성, 중첩된 객체와 배열은 물론 email, date-time, UUID 같은 문자열 형식까지 담깁니다.

예시 JSON

JSON 스키마

개인정보 보호: 데이터는 브라우저에서만 처리되며 절대 업로드되지 않습니다.

JSON 스키마를 생성하는 방법

  1. 대표적인 JSON 예시를 붙여넣습니다. 항목이 여러 개인 배열을 넣으면 항목들이 하나의 스키마로 병합되므로 가장 좋은 결과를 얻을 수 있습니다.
  2. 스키마 버전(draft 2020-12 또는 draft-07)을 고르고, 속성을 필수로 지정할지, 형식을 감지할지, 추가 속성을 허용하지 않을지 선택합니다.
  3. 스키마를 복사하거나 다운로드한 뒤 직접 다듬습니다. 예를 들어 설명(description), 열거값(enum), 최솟값과 최댓값을 추가할 수 있습니다.

생성기가 추론하는 항목

JSON 예시스키마
"ada@example.com"{"type": "string", "format": "email"}
"2026-05-01T10:00:00Z"형식 date-time(그 밖에 date, time, uri, uuid, ipv4 지원)
42 / 4.5"integer" / "number"
모든 객체에 있는 키required에 포함
일부 배열 항목에 없는 키선택 사항(required에 포함되지 않음)
[1, "a", null]"items": {"type": ["string", "integer", "null"]}
객체와 일반 값이 섞인 경우종류별 스키마를 하나씩 담은 anyOf

JSON 스키마(JSON Schema)란?

JSON Schema는 JSON 데이터의 구조를 기술하고 검증하기 위한 어휘입니다. 어떤 속성이 있는지, 각 속성의 타입은 무엇인지, 어떤 속성이 필수인지, 어떤 값이 허용되는지를 정의합니다. OpenAPI의 API 명세, 설정 파일, 폼 생성, AI 모델의 구조화된 출력 검증 등에 사용됩니다. 현재 버전은 2020-12이며, 많은 오래된 도구는 여전히 draft-07을 지원합니다. 명세는 json-schema.org에 공개되어 있습니다.

생성된 스키마 다듬기

자주 묻는 질문

어떤 JSON 스키마 버전을 사용해야 하나요?

새 프로젝트에는 draft 2020-12를 사용하세요. 현재 버전이며 OpenAPI 3.1의 기반입니다. 사용하는 검증기나 도구가 아직 2020-12를 지원하지 않는다면 draft-07을 선택하세요.

왜 모든 속성이 필수로 지정되나요?

예시 객체가 하나뿐이면 모든 속성이 존재하므로 전부 필수로 표시됩니다. 다양한 예시를 여러 개 담은 배열을 사용하거나 속성을 필수(required)로 지정 옵션을 끄세요.

생성기가 enum이나 값의 범위도 감지하나요?

아니요. 예시 하나만으로는 일반적으로 어떤 값이 허용되는지 알 수 없으므로 enum, 최솟값·최댓값, 패턴은 직접 추가해야 합니다.

스키마로 JSON을 검증하려면 어떻게 하나요?

JavaScript용 Ajv나 Python용 jsonschema 같은 검증 라이브러리를 사용하세요. 많은 코드 편집기도 $schema 속성에 지정된 스키마로 JSON 파일을 검증해 줍니다.