json 스키마 예제

다음은 고전적인 제품 카탈로그 설명을 다루는 기본 JSON 스키마입니다 – 배열의 모든 항목은 유효한 스키마 특성이어야하며, 따라서 json 개체여야합니다. 따라서 “필수” 특성은 “oneOf”에 중첩되고 다른 방법은 아닙니다. 이 예제에서는 /etc/fstab 파일에 표시된 파일 시스템 마운트 지점의 가능한 JSON 스키마 표현을 보여 주십습니다. 일반적으로 간단하지만 예제에서는 몇 가지 열린 질문을 남깁니다. 다음은 몇 가지 예입니다: 다음 예제는 JSON 스키마가 제공할 수 있는 모든 값의 최종적인 것은 아닙니다. 이를 위해 사양 자체에 깊이 들어가야 합니다 – http://json-schema.org/specification.html 대해 자세히 알아보십시오. 사용 중인 사양의 버전을 명시적으로 명시할 수도 있습니다. 다음 예제는 JSON 스키마, 초안 버전 4에 대해 작성된 JSON 스키마를 선언합니다: $ref 힘은 결합 키워드 allOf, anyOf 및 oneOf(스키마 결합 참조)와 함께 사용될 때 실제로 빛납니다. 전체 원을 오는 우리는 $ref 키워드를 사용하여 항목 스키마를 연습 시작 시 비어 있는 키에 추가합니다: 이 예제에서는 새로운 JSON 스키마 리소스를 소개하고 두 속성모두에 대해 데이터를 certai에 있어야 한다는 규칙은 없습니다. n 형식입니다.

예를 들어, 태어난 필드는 다음 방법 중 에서 나타낼 수 있습니다: 대신 핵심 주소 스키마 정의 및 주소 유형에 대 한 추가 스키마 스니펫을 결합 하는 allOf 키워드 항목을 사용 하 여: 심지어의 컴퓨터 프로그램을 작성하는 경우 일반적으로 프로그램을 재사용 가능한 함수로 “구조화”하는 것이 사용되는 모든 곳에서 중복 코드 비트를 복사하고 붙여 넣는 것보다 낫다는 것이 일반적으로 허용됩니다. 마찬가지로 JSON 스키마에서 가장 사소한 스키마를 제외한 모든 스키마를 여러 위치에서 재사용할 수 있는 부분으로 구성하는 것이 매우 유용합니다. 이 장에서는 스키마재사용 및 구조화에 사용할 수 있는 도구를 사용하는 몇 가지 실용적인 예제를 제공합니다. 동일한 문서의 정의를 사용하는 경우 $ref 값은 파운드 기호(#)로 시작합니다. 그런 다음 슬래시 분리된 항목은 문서의 개체의 키를 통과합니다. 따라서 이 예제에서 “#/정의/주소”는 $schema 키워드는 이 스키마가 v4 초안 사양에 따라 작성되었다고 명시합니다. 이 예제의 한 개체는 다른 개체에 다른 날짜 형식을 사용합니다. 달리 명시되지 않는 한 json-스키마 v4에 대해 예제가 작성되므로 이 새 스키마에 대한 참조를 추가하여 통합할 수 있습니다.

$ref 값이 URI이지만 네트워크 로케이터가 아니라 식별자입니다. 즉, 해당 URI에서 스키마에 액세스할 필요는 없지만 스키마는 해당 URI일 수 있습니다. 기본적으로 외부 스키마 URI를 처리하는 방법은 유효성 검사기 구현에 달려 있지만 유효성 검사기에서 $ref 값으로 표시된 네트워크 리소스를 가져올 것이라고 가정해서는 안 됩니다. 위에서는 자체의 다른 부분을 참조하는 스키마를 만들어 유효성 검사기에서 “루프”를 효과적으로 만들었으며 이는 허용되고 유용합니다. 그러나 서로를 참조하는 $ref 스키마 루프는 확인기에서 무한 루프를 유발할 수 있으며 명시적으로 허용되지 않습니다. 이 스키마에서 사용할 수있는 다양한 중요한 키워드를 확인하자 – 위의 주소 예제를 재사용하여, 우리는 주소 스키마에 $id 속성을 추가하고 대신 에 의해 참조 할 수 있습니다. 스키마 정의를 시작하려면 기본 JSON 스키마부터 시작해 보겠습니다. 이 스키마를 사용하여 사용자가 이름과 나이를 올바르게 입력하고 있는지 확인할 수 있습니다.

This entry was posted in Uncategorized. Bookmark the permalink.

Comments are closed.