기본 패턴
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를 검증할 때는items나prefixItems같은 keyword를 조합합니다. - JSON Schema는 "파싱 성공 여부"보다 한 단계 더 나아가, "의미 있는 구조인지"를 기계적으로 검사할 수 있게 해 줍니다.
짧은 예제
text
JSON만으로 알 수 있는 것
- 문법이 맞는가
JSON Schema가 추가로 알려 주는 것
- 이 필드가 꼭 필요한가
- 값 종류가 맞는가
- 추가 필드를 허용하는가빠른 정리
| 항목 | 의미 |
|---|---|
| schema | 데이터 규칙 |
| instance | 실제 JSON 데이터 |
type | 기대하는 값 종류 |
properties | object 필드 규칙 |
items | array 항목 규칙 |
주의할 점
JSON Schema는 "이 필드가 있는지"만 확인하는 도구가 아닙니다. 값의 종류, 배열 항목 구조, 추가 필드 허용 여부까지 함께 선언해야 실제로 쓸 만한 검증 문서가 됩니다.
참고 링크
3 sources