logo
GeekFormat

JSON 스키마 검증기

관련 추천

주요 기능

  • Draft-07 표준 검증: 타입, 필수 필드, 속성, 정규식, 포맷, enum 등 포괄적 기본 규칙 검증
  • 강력한 조합 로직: allOf, anyOf, oneOf, not 지원, 복잡한 중첩 구조 및 다중 제약 조건 검증
  • 정확한 오류 위치: 상세한 오류 경로와 시맨틱 오류 메시지로 API 계약 충돌 및 데이터 구조 이상치 빠른 탐색
  • API 계약 테스트: 프론트엔드-백엔드 인터페이스 디버깅 및 자동 계약 테스트에 적합, 실제 응답이 스키마와 엄격히 일치 보장
  • 로컬 고속 처리: 순수 브라우저 사이드 계산, 서버 업로드 불필요, 민감 데이터 구조 및 테스트 데이터 프라이버시 보장

자주 묻는 질문

JSON Schema로 API 응답 데이터를 검증하려면?

왼쪽에 JSON Schema 정의를, 오른쪽에 실제 API 응답 JSON을 붙여넣으세요. 자동으로 두 구조를 비교하여 데이터 타입, 필수 필드, 정규식 패턴 등을 정확히 검증합니다. API 계약 테스트와 프론트엔드-백엔드 데이터 구조 일관성 보장에 필수적입니다.

어떤 JSON Schema 표준과 검증 규칙을 지원하나요?

JSON Schema Draft-07 표준을 완전히 따릅니다. 타입 검사, 필수 필드, 속성 정의, 정규식 패턴 매칭, 포맷 검증, enum 값 및 allOf/anyOf/oneOf/not 조합 로직 검증을 지원합니다.

검증 실패 시 오류를 빠르게 찾을 수 있나요?

네. 실패한 JSON 경로, 특정 오류 타입(타입 불일치, 필수 필드 누락 등) 및 해당 스키마 규칙을 정확히 지적하는 상세한 오류 리포트를 생성합니다. 디버깅 효율이 크게 향상됩니다.

자동 데이터 거버넌스에 JSON Schema를 어떻게 활용하나요?

ETL 데이터 클렌징이나 데이터 수집 전 미리 정의된 스키마 규격 준수 여부를 확인할 수 있습니다. 더티 데이터와 이상치를 효과적으로 차단해 데이터 품질을 보장합니다.

온라인 JSON Schema 검증이 데이터를 노출시키나요?

아니요. 모든 처리는 브라우저에서 완전히 로컬로 수행됩니다. 기업 핵심 API 데이터 구조든 개인 비즈니스 데이터든 서버에 업로드되지 않으며 엔터프라이즈급 개인정보 보호를 보장합니다.

JSON Schema 키워드 속참표

다음 표는 JSON Schema 명세에서 가장 자주 사용되는 검증 키워드를 기능별로 분류하여 정리한 것으로 빠르게 참조할 수 있도록 합니다.

키워드설명
기본 타입
type데이터 타입 지정: string, number, integer, boolean, array, object, null. 단일 타입 또는 타입 배열 지원.
객체 검증
properties객체의 각 속성에 대한 하위 스키마를 정의합니다.
required문자열 배열로, 어떤 속성이 필수인지 지정합니다.
additionalPropertiesproperties에 정의되지 않은 추가 속성을 허용할지 여부를 제어합니다. false 또는 스키마로 설정할 수 있습니다.
propertyNames속성 이름이 일치해야 하는 스키마를 제한합니다 (일반적으로 pattern 정규식 사용).
minProperties객체가 포함해야 하는 최소 속성 수.
maxProperties객체가 포함할 수 있는 최대 속성 수.
열거형・상수
enum열거값 배열로, 데이터는 배열의 값 중 하나여야 합니다.
const상수 값으로, 데이터는 이 값과 정확히 일치해야 합니다.
숫자 제약
minimum숫자의 최소값 (경계 포함).
maximum숫자의 최대값 (경계 포함).
exclusiveMinimum숫자가 엄격하게 더 커야 함 (경계 미포함).
exclusiveMaximum숫자가 엄격하게 더 작아야 함 (경계 미포함).
multipleOf숫자는 지정된 수의 배수여야 합니다.
문자열 제약
minLength문자열의 최소 길이.
maxLength문자열의 최대 길이.
pattern정규식으로, 문자열은 이 패턴과 일치해야 합니다.
format의미적 형식 검증: email, uri, date-time, uuid, ipv4, ipv6, hostname 등.
배열 제약
items배열 요소의 스키마를 정의합니다 (단일 스키마는 모든 요소에 적용).
minItems배열의 최소 요소 수.
maxItems배열의 최대 요소 수.
uniqueItems배열 요소가 고유해야 하는지 여부.
contains배열에 이 스키마와 일치하는 요소가 하나 이상 있어야 합니다.
조합 로직
allOf데이터가 모든 하위 스키마와 일치해야 함 (논리곱).
anyOf데이터가 하나 이상의 하위 스키마와 일치하면 됨 (논리합).
oneOf데이터가 정확히 하나의 하위 스키마와 일치해야 함 (배타적 논리합).
not데이터가 이 스키마와 일치하지 않아야 함 (논리 부정).
조건부 검증
if조건 판단 스키마. 데이터가 if와 일치하면 then을 만족해야 하고, 그렇지 않으면 else를 만족해야 합니다.
thenif 조건이 참일 때 만족해야 하는 스키마.
elseif 조건이 거짓일 때 만족해야 하는 스키마.
참조・재사용
$ref다른 스키마 정의를 참조합니다. 로컬 참조(#/$defs/xxx) 및 원격 참조를 지원합니다.
$defs재사용 가능한 하위 스키마를 정의합니다 (Draft 2019-09+, 구버전은 definitions 사용).
definitionsDraft 4-7에서 재사용 가능한 하위 스키마를 정의하는 키워드.
메타 정보
title스키마의 제목 설명 (주석, 검증에 관여하지 않음).
description스키마의 상세 설명 (주석, 검증에 관여하지 않음).
default기본값 (주석, 검증에 관여하지 않음).
examples예시 값 배열 (주석, 검증에 관여하지 않음).
$schema사용할 JSON Schema 명세 버전을 지정합니다.
의존 관계
dependentRequired속성 의존성: 특정 속성이 존재할 때 다른 속성도 존재해야 함 (Draft 2019-09+).
dependenciesDraft 4-7의 의존성 키워드로, 속성 의존과 스키마 의존 기능을 모두 가집니다.

JSON Schema 버전별 차이 비교

JSON Schema는 여러 Draft 버전을 거쳐 발전해왔습니다. Draft 7이 현재 가장 널리 사용되는 버전이며, Draft 2020-12가 최신 안정판입니다.

기능Draft 4Draft 6Draft 72019-092020-12
type 타입 검증
required 필수 필드
enum/const 상수✓ enum
minimum/maximum 숫자 범위
exclusiveMinimum/Maximum불리언숫자숫자숫자숫자
multipleOf 배수 검증
minLength/maxLength
pattern 정규식 매칭
format 형식 검증기본 주석기본 주석
items 배열 검증
contains 요소 포함
minItems/maxItems
uniqueItems
additionalProperties
propertyNames
allOf/anyOf/oneOf/not
if/then/else 조건
$ref 참조
$defs 정의 재사용definitionsdefinitionsdefinitions$defs$defs
dependentRequired
prefixItems 튜플 검증배열 형식배열 형식배열 형식배열 형식prefixItems
unevaluatedProperties
$dynamicRef/$anchor✓ $recursiveRef✓ dynamicRef