JSON 스키마는 JSON 데이터의 구조를 검증하기 위한 강력한 도구이다. 그러나, 사양만 읽고 사용법을 익히려는 것은 설계도를 보고 운전을 배우는 것과 유사하다. 식료품을 사러가야 한다면, 전기 모터가 어떻게 맞물려 돌아가는지 알 필요가 없다. 이 책은 따라서, JSON 스키마를 위한 친절한 운전교본을 목표로 한다. 즉, 이 문서는 JSON 스키마를 작성하고자 하지만, 차를 제작하고자 하려는 것은 아닌 사람(JSON 스키마 검증기 개발자)을 위한 것이다.
****참고****
이 책은 JSON 스키마 초안 7을 기술한다. 이전 버전의 경우, 여기에서 기술하는 포맷과 완벽하게
호환되지는 않지만, 대부분 그 차이는 문서중에 설명된다.
시작방법
- 이 책에서 사용하는 스키마 예제 및 JSON 스키마를 자신의 프로그래밍 언어와 연관시키기 위한 규약은 여기를 참고하라.
- 스키마가 무엇인지 모르겠다면, 스키마란 무엇인가를 확인하라.
- 기본 장을 보면 코어 JSON 스키마 참조문서를 이해하는데 충분할 것이다.
- 많이 중첩되고 반복되는 부분이 많은 대형 스키마를 개발하기 시작한다면, 복잡한 스키마 구조화하기를 참조하라.
- https://json-schema.org/에는 공식 사양 및 여러가지 프로그래밍 언어로 JSON 스키마를 사용할 수 있는 도구까지 다양한 자원이 존재한다.
- http://jsonschema.net/은 JSON 스키마와 예제 문서를 돌려볼 수 있는 온라인 응용이다. 소프트웨어를 설치하지 않고 뭔가 해보고자한다면 매우 유용할 것이다.
목차
- 이 책에서 사용하는 규약
- 언어 별 주의사항
- 초판 별 주의사항
- 예제
- 스키마란?
- 기본
- Hello, World!
- 유형 키워드
- JSON 스키마 선언
- 고유 식별자 선언
- JSON 스키마 레퍼런스
- 유형 별 키워드
- 문자열
- 길이(Length)
- 정규 표현식
- 포맷
- 정규 표현식
- 예제
- 숫자 유형
- integer(정수)
- number(수)
- Multiples
- Range
- 객체
- Properties(특질)
- Required Properties(필수 특질)
- Property names(특질 명)
- Size
- Dependencies(의존)
- Pattern Properties(패턴 특질)
- 배열
- Items(항목)
- Length
- Uniqueness(유일성)
- 불린
- null
- 포괄 키워드(Generic keywords)
- Annotations(범례)
- Comments(코멘트)
- Enumerated values(열거 값)
- Constant values(상수 값)
- Media: 문자열-인코딩 비 JSON 데이터
- contentMedia Type
- contentEncoding
- 예제
- 스키마 결합
- allOf
- anyOf
- oneOf
- not
- 하위 스키마를 조건적으로 적용하기
- $schema 키워드
- 고급
- 복잡한 스키마 구조화
- 재사용
- 재귀
- $id 특질
- $id 를 $ref와 함께 사용하기
- 확장
- 재사용
인쇄 버전은 여기에 있다.