JSON 스키마 검증기
스키마와 문서를 붙여넣고 draft를 선택하면, 검증기가 스키마가 사용하는 모든 키워드, type, required, enum, oneOf, $ref, if/then/else, 사용자 지정 format, 에 대해 문서를 검사하고, 각 위반을 정확한 위치를 가리키는 JSONPath 스타일 포인터와 함께 보고합니다.
스키마에 대해 검증하는 방법
-
1
스키마 붙여넣기
JSON 스키마 draft 04, 07 또는 2020-12. `$schema` 키워드(있으면)가 draft를 자동 선택합니다.
-
2
문서 붙여넣기
검증하려는 JSON. 먼저 유효한 JSON이어야 합니다. 구문 오류는 스키마 평가 전에 표시됩니다.
-
3
검증
각 위반은 JSON 포인터(`/user/email`)와 실패한 키워드(`format`, `required` 등)와 함께 보고됩니다.
-
4
수정 후 재검증
어느 쪽이든 편집하면 상태가 실시간으로 갱신됩니다.
지원 키워드
핵심: type, enum, const, multipleOf, maximum, minimum, exclusiveMaximum, exclusiveMinimum, maxLength, minLength, pattern, maxItems, minItems, uniqueItems, maxContains, minContains, maxProperties, minProperties, required, dependentRequired.
조합: allOf, anyOf, oneOf, not.
적용자: properties, patternProperties, additionalProperties, items, prefixItems, contains, propertyNames.
조건부: if, then, else, dependentSchemas.
참조: $ref, $defs, $id, $anchor.
형식(활성화 시 검증 포함): date-time, date, time, duration, email, hostname, ipv4, ipv6, uri, uuid, regex.
오류 출력
FAIL /user/email format "not-an-email" is not a valid "email"
FAIL /user/age minimum -3 is less than the minimum 0
FAIL /orders/0/total type "42" is not of type "number"
FAIL / required missing required property "shippingAddress"
모든 오류에는 경로와 실패한 키워드가 포함되어 편집기에서 빠르게 찾을 수 있습니다.
발목을 잡는 draft 차이
| 키워드 | Draft 04 | Draft 07 | Draft 2020-12 |
|---|---|---|---|
id 대 $id |
id |
$id |
$id |
exclusiveMaximum 불리언 |
예 | 숫자 | 숫자 |
items 배열 구문 |
items |
items |
prefixItems |
$ref 형제 허용 |
아니요 | 아니요 | 예 |
올바른 draft를 설정하세요. draft-04 스키마를 2020-12로 검증하면 id와 다른 미묘한 부분을 잘못 해석합니다.
일반적인 워크플로
- API 계약 테스트: 배포 전에 생성/갱신된 OpenAPI 스키마를 실제 샘플 응답에 대해 실행합니다.
- 설정 강화: 병합 전 CI에서 모든 YAML/JSON 설정을 스키마에 대해 검증합니다.
- 데이터 수집: 기대 형태에 맞지 않는 페이로드를 명확한 오류 메시지와 함께 일찍 거부합니다.
흔한 실수
format강제 잊기. 기본적으로 대부분의 검증기는 알 수 없는 형식을 주석 전용으로 취급합니다. 잘못된 이메일과 날짜를 실제로 거부하려면 엄격 형식 검증을 활성화하세요.oneOf남용.oneOf의 두 분기가 겹치면 문서는 실패합니다(정확히 하나만 일치해야 함).anyOf나 디스크리미네이터 패턴을 사용하세요.additionalProperties: false로 빡빡한 스키마. 새 선택적 필드 추가가 호환성 깨짐 변경이 됩니다. 진정으로 닫힌 객체를 원하지 않는 한 생략하세요.
자주 묻는 질문
네. Draft 2020-12, 07, 04를 모두 지원합니다. 검증기는 문서의 $schema 키워드를 읽어 올바른 것을 고르거나, UI의 선택기로 폴백합니다.
표준 형식(email, date-time, uuid, ipv4 등)은 엄격 형식이 활성화되면 검증됩니다. 스키마에 선언된 사용자 지정 형식은 pattern으로 정규식을 제공하지 않는 한 주석 전용으로 취급됩니다.
내부 참조(#/$defs/foo)는 자동으로 해석됩니다. 외부 HTTP 참조는 보안을 위해 기본적으로 가져오지 않습니다. 외부 참조를 먼저 인라인하거나, 원격 $ref 해석을 지원하는 전용 도구를 사용하세요.
네. 스키마와 문서 모두 로컬에 남습니다. 붙여넣은 내용은 절대 업로드되지 않아 내부 API 계약과 민감한 데이터에 안전합니다.
관련 도구
ASCII 표 참조
NUL, LF, DEL 같은 제어 문자를 포함해 모든 문자에 대한 10진수, 16진수, 8진수, 2진수, HTML 숫자 문자 참조를 담은 0부터 127까지의 전체 ASCII 표.
HTML 문자 참조
HTML 엔티티의 검색 가능한 목록, 각 엔티티의 이름 및 숫자 코드, 그리고 특수 문자 및 기호에 대한 1클릭 복사 기능을 제공합니다.
키보드 단축키 참고표
macOS, Windows, Linux에서 VS Code, Chrome, GNU Readline을 쓰는 Bash의 문서화된 기본 단축키를 검색합니다.
보색 찾기
어떤 입력에 대해서도 보색을 찾습니다. HSL 반대 색, 분할 보색 쌍, 그리고 접근성 있는 조합 제안을 반환합니다.
이메일 검증기
이메일 주소를 검증합니다. RFC 5322 구문 검사, 실시간 MX 레코드 조회, 그리고 로컬 파트, 도메인, 길이 정보를 제공합니다. 이메일은 전송되지 않습니다.
EditorConfig 생성기
들여쓰기 스타일과 크기, 줄 끝, 문자 인코딩, 공백 규칙을 지정해 .editorconfig 파일을 생성하고 IDE와 편집기 전반의 형식을 일관되게 유지하세요.
이 도구는 다른 언어로도 제공됩니다
- Penentu Struktur JSON [ID]
- Trình xác thực JSON Schema [VI]
- Validador de JSON Schema [ES]
- Validateur de schéma JSON [FR]
- JSON Schema-validator [NL]
- JSON Schema-validator [SV]
- JSONスキーマバリデーター [JA]
- เครื่องมือตรวจสอบ JSON Schema [TH]
- أداة التحقق من مخطط JSON [AR]
- JSON-Schema-Validator [DE]
- Walidator JSON Schema [PL]
- Validador de JSON Schema [PT]
- Validator di JSON Schema [IT]
- Валидатор JSON Schema [RU]
- JSON Şeması Doğrulayıcı [TR]
- JSON 模式验证器 [ZH]
- JSON Schema Validator [EN]