JSON 개발노트(둘)-JSON Schema 실전(상)
우리는 JSON이 XML에 비해 여러 방면에서 더 많은 장점을 가진다는 것을 안다.앞으로 JSON이 각 방면에서 XML을 대체하는 것이 역사의 대세일 가능성이 높다.XML을 아는 사람들은 XML Schema가 XML 언어를 바탕으로 XML 문서의 구조를 설명하고 XML 문서의 내용을 검증하는 데 사용된다는 것을 알고 있다. 즉, 우리가 흔히 볼 수 있는 XSD(XML Schema Definition) 파일이다.
XML Schema와 유사하게 JSON Schema는 JSON 형식을 바탕으로 JSON 데이터 구조를 정의하고 JSON 데이터 내용을 검사하는 데 사용된다.JSON Schema 홈페이지 주소:http://json-schema.org/
2. 간단한 예로부터 시작
만약 JSON 데이터가 존재한다면 구체적인 내용은 다음과 같다.
{
"id": 520,
"name": "hello first blog",
"price": 25.5
}
이 중 id는 도서의 ID를, name는 도서의 제목을, price는 도서의 판매가를 나타낸다.만약 네가 도서관의 관리인이라면, 많은 아르바이트 인원을 고용해서 너를 도와 도서관 안의 모든 도서 정보를 수동으로 기록해 줄 것이다.형식은 위의 JSON과 일치하며 아르바이트생이 더러운 데이터를 실수로 입력하는 것을 피하기 위해 다음과 같은 추가 요구를 했습니다.
위의 모든 요구 사항을 JSON Schema 파일에 기록한 경우 그 내용은 다음과 같습니다.
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "BookInfo",
"description": "some information about book",
"type": "object",
"properties": {
"id": {
"description": "The unique identifier for a book",
"type": "integer",
"minimum": 1
},
"name": {
"description": "Name of the book",
"type": "string",
"maxLength": 50,
"minLength": 1
},
"price": {
"type": "number",
"minimum": 0,
"exclusiveMinimum": true
}
},
"required": [
"id",
"name",
"price"
]
}
이를 통해 알 수 있듯이 JSON Schema는 사실상 하나의 JSON 파일이다. 단지 그가 나타내는 정보 내용은 다른 JSON 파일의 구조와 내용에 대한 제약일 뿐이다.
3. JSON Schema 키워드
위의 JSON Schema 파일 내용을 완전히 이해하려면 먼저 JSON Schema에서 키워드의 의미와 작용을 이해해야 합니다.JSON Schema에서 일반적으로 사용되는 키워드는 다음과 같습니다.
키워드
묘사
$schema
JSON Schema 파일이 따르는 사양을 나타냅니다.
title
JSON Schema 파일의 제목을 지정합니다.
description
JSON Schema 파일에 대한 설명 정보
type
검사할 요소의 유형을 나타냅니다. 예를 들어 가장 바깥쪽 type은 검사할 요소가 JSON 대상이고 안쪽 type은 검사할 요소의 유형을 정수, 문자열, 숫자로 나타냅니다.
properties
검사할 JSON 객체의 키-value 쌍 중value에 대한 제한 조건을 정의합니다.
required
검증할 JSON 객체에 존재해야 하는 키를 정의합니다.
minimum
범위가 미니멀보다 크거나 같아야 함을 나타내는 범위입니다.
exclusiveMinimum
미니멀과 exclusive Minimum이 동시에 존재하고 exclusive Minimum의 값이true인 경우 범위는 미니멀보다 클 수 있음
maximum
수치 범위를 제약하는 데 사용되며, 수치 범위가 maximum보다 작거나 같아야 한다는 것을 나타낸다
exclusiveMaximum
만약 maximum과 exclusiveMaximum이 동시에 존재하고 exclusiveMaximum의 값이true라면, 수치 범위는 maximum보다 작을 수 있음을 나타낸다
multipleOf
값을 제한하는 데 사용되며, 값은 multiple Of에서 지정한 값으로 정리되어야 합니다.
maxLength
문자열 형식 데이터의 최대 길이
minLength
문자열 형식 데이터의 최소 길이
pattern
정규 표현식 제약 문자열 형식 데이터 사용하기
여기서 type의 일반 수치는 다음과 같습니다.
type 값
해당하는 Java 데이터 유형
array
java.util.List
boolean
java.lang.Boolean
integer
int(java.lang.Integer)
number
float(java.lang.Float) 또는 int
null
null
object
java.lang.Object
string
java.lang.String
만약 위의 키워드의 의미를 잘 알고 있다면 JSON Schema의 내용을 읽는 것도 더 이상 어렵지 않을 것이다. 심지어는 JSON Schema 파일을 직접 써 볼 수도 있다.
4. JSON Schema 온라인 도구
JSON Schema에는 다음과 같은 온라인 보조 도구가 많습니다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.