공간정보/표준

JSON 스키마

하늘이푸른오늘 2020. 12. 19. 17:30

JSON 스키마 는 JSON 문서에 주석을 달고 유효성을 검승할 수 있는 어휘이다.

장점

JSON 스키마

  • 기존 데이터 포맷을 설명한다.
  • 인간 및 기계가 일을 수 있는 깔끔한 문서화를 제공한다.
  • 데이터의 유효성 검증
    • 자동 테스트 및 클라이언트가 제출한 데이터의 품질 보증 하는 데 유용하다.

JSON 하이퍼 스키마

  • JSON 포맷을 문서 구조에 제한을 걸지 않고 하이퍼미디어 포맷으로 만든다.
  • 인스턴스 데이터에 URI 템플릿을 사용할 수 있다.
  • 클라이언트 데이터를 JSON 스키마를 이용한 링크를 사용하도록 해준다.
  • 콜렉션과 콜렉션 항목을 인식한다.

프로젝트 상태

2019년 9월 16일 : Draft 2019-09 가 발행되었다(이전 버전은 draft-08).

IETF 문서 ID는 draft-handrews-*-02 형태이다. 우리는 현재 메타 스키마를 위해 날짜를 사용하는데, 그것이 구현에서 행태를 결정하는데 사용되어야 하는것이므로, 우리는 이 웹사이트에서 항상 2019-09 로 참조할 예정이다.

이름체계와 번호체계에 대한 상세한 사항은 사양 페이지를 참조하라.

표준화 경로

JSON 스키마 프로젝트는 RFC 상태에 4가지 초안 시리즈의 길잡이 의도이다. 현재 우리닌 우리의 셀프-발행 인터넷 초안(Internet-Draft)을 향상시키고 있다. 다음 단계에서는 IETF 워킹 그룹에서 채택받은 초안이 만들어질 것이다. 이를 달성하기 위한 방법을 적극적으로 조사중이다.

이런 일에 경험이 있다면, 도와주기 바란다.

당분간 인터넷 초안 문서의 발행은 IEFT를 통해 추적할 수 있다.

  • JSON 스키마(코어)
  • JSON 스키마 검증
  • JSON 하이퍼 스키마
  • 상대적 JSON 포인터

인터넷 초안은 6개월 후 만료되므로, 우리의 목표는 항상 만료되지 않은 초안을 사용할 수 있도록 자주 발행하는 것이다. 그러나 이들은 아직 초안이므로, 사용자 커뮤니티에서 검증을 받은 명백한 요구가 주어질 경우, 주요 변화가 발생할 수 있다.

퀵스타트

유효성 검증 대상 혹은 설명 대상 JSON 문서를 인스턴스라고 하며, 설명이 담겨져 있는 문서를 스키마라고 한다.

가장 기본 스키마는 비어있는 JSON 객체로, 아무것도 포함하지 않고, 무엇이나 허용하며, 아무것도 설명하지 않는다.

{}

인스턴스에 제한을 가하려면 스키마에 검증 키워드를 추가하면 된다. 예를 들어 "tyep" 키워드를 사용하면 인스턴스에 객체, 배열, 문자열, 숫자, 불린, null로 제한한다.

{"type" : "string" }

JSON 스키마는 하이퍼미디어를 사용할 수 있으며, 기존 JSON기반의 HTTP API에 주석을 다는데 최고이다. JSON 스키마 문서는 URI에 의해 식별되는데, HTTP 링크 헤더에 URI를 사용할 수 있으며, JSON 스키마 내무 문서에 사용하면 재귀적 정의가 가능하다.

더보기

다음 문서를 참조하라.

질문이 있거나 도움이 된다 싶으면 참여하라.