JSON Schema 생성기 & 검증기

예제 JSON 데이터에서 JSON Schema (draft-07)를 생성하거나, 모든 JSON 문서를 어떤 스키마에 대해서든 정확한 오류 메시지와 함께 검증하세요. 참고: JSON 포매터 | JSONPath 평가기 | 모든 JSON 도구.
모든 처리는 브라우저에서 로컬로 이루어집니다 — 아무것도 업로드되지 않습니다.
스키마 생성 데이터 검증
아래에 JSON 객체 하나(또는 객체 배열 — 속성이 병합되고 required는 합집합)를 붙여넣으세요. 스키마는 추론됩니다. 더 엄격한 규칙이 필요하면 나중에 편집하세요.
$schema 헤더 포함 — draft-07 선언을 앞에 붙여 검증기가 스키마가 쓰는 방언을 알게 합니다. 예: "$schema": "http://json-schema.org/draft-07/schema#"
required 키 표시 — 샘플 JSON에서 발견된 모든 키를 필수 목록에 추가합니다. 예: "required": ["name", "price", "inStock"]
작은 값 집합을 enum으로 붕괴 — 스칼라 배열에 고유 값이 2~8개면 항목 타입이 enum으로 좁혀집니다. 예: "tags": ["sale", "new", "sale"] → "tags": {"type": "array", "items": {"type": "string", "enum": ["sale", "new"]}}
흔한 문자열 형식 감지 — ISO 날짜, 날짜시각, UUID, 이메일, URL을 인식해 format을 추가합니다. 예: "createdAt": {"type": "string", "format": "date-time"}
생성기 참고: 정수는 "integer"가 됩니다. 문자열은 형식 체크박스가 켜져 있을 때만 format을 얻습니다. 배열 안의 여러 JSON 객체는 병합됩니다(같은 타입 키는 첫 타입 유지, 혼합 타입은 type 배열로 폴백). required는 모든 샘플의 합집합입니다. 데이터 검증에서는 실패한 규칙마다 JSON 포인터 경로(예: .items[0].price)가 붙어 문제의 값으로 곧장 갈 수 있습니다.
JSON Schema — 타입 시스템이 아니라 계약

JSON Schema는 유효한 문서가 어떤 모습이어야 하는지 기술합니다. 어떤 키가 필수이고 값들이 어떤 타입이며 범위와 패턴은 무엇인지. 검증은 데이터를 그 계약에 대해 확인할 뿐 아무것도 변환하지 않습니다. 스키마는 드래프트로 버전이 매겨집니다 — 이 페이지는 가장 널리 지원되는 방언인 draft-07을 생성합니다. 2020-12가 현재 버전입니다.

생성된 스키마는 샘플로부터의 추측입니다 — required, enum, format을 손으로 조이세요.