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 계약과 민감한 데이터에 안전합니다.
관련 도구
보색 찾기
어떤 입력에 대해서도 보색을 찾습니다. HSL 반대 색, 분할 보색 쌍, 그리고 접근성 있는 조합 제안을 반환합니다.
Webpack 설정 생성기
순수 JavaScript, React, Vue용 webpack 5 webpack.config.js를 만드세요. TypeScript, Babel, CSS 또는 Sass, 이미지, HtmlWebpackPlugin, 개발 서버, npm install 명령까지 함께 제공합니다.
XML 포매터
일관된 들여쓰기로 XML 문서를 정렬 출력하고, 정확한 줄 번호로 적격성 오류를 잡아냅니다.
색상 혼합기
두 HEX 색상을 2-20개의 균등한 색상 견본으로 섞습니다. 양 끝 색상을 포함해 각 중간 색상을 대문자 HEX 코드로 확인하세요.
Protocol Buffers 디코더
hex, Base64, Base64URL, 텍스트 또는 파일의 Protobuf 와이어 형식 바이트를 브라우저에서 디코딩하고 정확한 필드 후보를 확인한 뒤 비공개 보고서로 내보냅니다.
텍스트 파일 인코딩 변환기
깨진 문자를 고치기 위해 텍스트를 UTF-8, UTF-16, Latin-1, Windows-1252 등 여러 인코딩 사이에서 변환하세요.
이 도구는 다른 언어로도 제공됩니다
- Validateur de schéma JSON [FR]
- أداة التحقق من مخطط JSON [AR]
- JSON-Schema-Validator [DE]
- JSON Schema-validator [SV]
- JSONスキーマバリデーター [JA]
- Penentu Struktur JSON [ID]
- Walidator JSON Schema [PL]
- Validador de JSON Schema [ES]
- Validador de JSON Schema [PT]
- Trình xác thực JSON Schema [VI]
- เครื่องมือตรวจสอบ JSON Schema [TH]
- JSON Schema-validator [NL]
- JSON 模式验证器 [ZH]
- JSON Schema Validator [EN]
- Validator di JSON Schema [IT]
- Валидатор JSON Schema [RU]
- JSON Şeması Doğrulayıcı [TR]