개요
- JSON schema
- JSON 스키마
- JSON 데이터의 구조와 내용을 명확하게 정의하고 검증하는 데 사용되는 문서
- JSON 스키마를 사용하면 JSON 데이터의 형식, 필수 필드, 데이터 타입 등을 명확하게 규정할 수 있어 데이터의 유효성을 검사하고 일관성을 유지하는 데 도움이 된다.
주요 기능
- 데이터 구조 정의: JSON 스키마를 통해 데이터의 구조를 정의할 수 있다. 예를 들어, 객체(Object), 배열(Array), 문자열(String), 숫자(Number) 등 데이터 타입을 지정할 수 있다.
- 필수 필드 지정: 특정 필드가 반드시 포함되어야 하는지 여부를 정의할 수 있다. 이를 통해 누락된 필드로 인한 오류를 방지할 수 있다.
- 데이터 타입 검증: 각 필드의 데이터 타입을 지정할 수 있다. 예를 들어, 특정 필드가 문자열이어야 한다거나, 숫자이어야 한다는 규칙을 정의할 수 있다.
- 제약조건 설정: 필드 값에 대한 제약조건을 설정할 수 있다. 예를 들어, 문자열의 길이, 숫자의 최소/최대 값, 배열의 요소 개수 등을 정의할 수 있다.
- 기본값 설정: 필드에 기본값을 설정할 수 있다. 이는 해당 필드가 누락된 경우 기본값을 사용할 수 있도록 한다.
예시
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"name": {
"type": "string"
},
"age": {
"type": "integer",
"minimum": 0
},
"email": {
"type": "string",
"format": "email"
}
},
"required": ["name", "email"]
}
- 데이터는 객체(object)이어야 한다.
- name 필드는 문자열이어야 한다.
- age 필드는 0 이상의 정수이어야 한다.
- email 필드는 이메일 형식의 문자열이어야 한다.
- name과 email 필드는 반드시 포함되어야 한다(required).