JSONJSON Schema와 검증

Schema 기본

JSON Schema가 JSON 데이터의 모양과 제약을 기술하는 방식, type과 properties의 역할, instance와 schema 차이를 정리합니다.

마지막 수정 2026년 3월 20일

기본 패턴

json
{
  "type": "object",
  "properties": {
    "name": { "type": "string" },
    "age": { "type": "number" }
  },
  "required": ["name"]
}

설명

  • JSON Schema는 JSON 데이터가 어떤 모양과 제약을 따라야 하는지 기술하는 별도 문서 형식입니다.
  • 여기서 schema는 규칙이고, 실제 데이터는 instance입니다. 즉 schema 자체가 데이터가 아니라 데이터를 검사하는 기준입니다.
  • type은 가장 기본적인 keyword이며, object, array, string, number, boolean, null 같은 값 종류를 기대하도록 지정합니다.
  • object를 검증할 때는 properties, array를 검증할 때는 itemsprefixItems 같은 keyword를 조합합니다.
  • JSON Schema는 "파싱 성공 여부"보다 한 단계 더 나아가, "의미 있는 구조인지"를 기계적으로 검사할 수 있게 해 줍니다.

짧은 예제

text
JSON만으로 알 수 있는 것
- 문법이 맞는가

JSON Schema가 추가로 알려 주는 것
- 이 필드가 꼭 필요한가
- 값 종류가 맞는가
- 추가 필드를 허용하는가

빠른 정리

항목의미
schema데이터 규칙
instance실제 JSON 데이터
type기대하는 값 종류
propertiesobject 필드 규칙
itemsarray 항목 규칙

주의할 점

JSON Schema는 "이 필드가 있는지"만 확인하는 도구가 아닙니다. 값의 종류, 배열 항목 구조, 추가 필드 허용 여부까지 함께 선언해야 실제로 쓸 만한 검증 문서가 됩니다.

참고 링크

3 sources