JSON - Lược đồ
Lược đồ JSON là một đặc tả cho định dạng dựa trên JSON để xác định cấu trúc của dữ liệu JSON. Nó được viết theo bản nháp IETF đã hết hạn vào năm 2011. Lược đồ JSON -
- Mô tả định dạng dữ liệu hiện có của bạn.
- Tài liệu rõ ràng, người và máy có thể đọc được.
- Hoàn thành xác nhận cấu trúc, hữu ích cho kiểm tra tự động.
- Hoàn thành xác thực cấu trúc, xác thực dữ liệu do khách hàng gửi.
Thư viện xác thực lược đồ JSON
Có một số trình xác thực hiện có sẵn cho các ngôn ngữ lập trình khác nhau. Hiện tại, trình xác thực lược đồ JSON tuân thủ và hoàn chỉnh nhất hiện có là JSV.
Ngôn ngữ | Thư viện |
---|---|
C | WJElement (LGPLv3) |
Java | json-schema-validator (LGPLv3) |
.MẠNG LƯỚI | Json.NET (MIT) |
ActionScript 3 | Frigga (MIT) |
Haskell | aeson-schema (MIT) |
Python | Jsonschema |
Ruby | tự động phân tích (ASL 2.0); ruby-jsonschema (MIT) |
PHP | php-json-schema (MIT). json-schema (Berkeley) |
JavaScript | Có trật tự (BSD); JSV; json-giản đồ; Matic (MIT); Võ đường; Kiên trì (BSD sửa đổi hoặc AFL 2.0); schema.js. |
Ví dụ về lược đồ JSON
Dưới đây là giản đồ JSON cơ bản, bao gồm mô tả danh mục sản phẩm cổ điển -
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Product",
"description": "A product from Acme's catalog",
"type": "object",
"properties": {
"id": {
"description": "The unique identifier for a product",
"type": "integer"
},
"name": {
"description": "Name of the product",
"type": "string"
},
"price": {
"type": "number",
"minimum": 0,
"exclusiveMinimum": true
}
},
"required": ["id", "name", "price"]
}
Hãy kiểm tra các từ khóa quan trọng khác nhau có thể được sử dụng trong lược đồ này -
Sr.No. | Từ khoá & Mô tả |
---|---|
1 |
$schema Từ khóa $ schema nói rằng lược đồ này được viết theo đặc điểm kỹ thuật phiên bản nháp. |
2 |
title Bạn sẽ sử dụng điều này để đặt tiêu đề cho lược đồ của mình. |
3 |
description Mô tả một chút về lược đồ. |
4 |
type Từ khóa type xác định ràng buộc đầu tiên đối với dữ liệu JSON của chúng tôi: nó phải là một Đối tượng JSON. |
5 |
properties Xác định các khóa khác nhau và các loại giá trị của chúng, giá trị tối thiểu và tối đa sẽ được sử dụng trong tệp JSON. |
6 |
required Điều này giữ một danh sách các thuộc tính cần thiết. |
7 |
minimum Đây là ràng buộc được đặt trên giá trị và đại diện cho giá trị chấp nhận được tối thiểu. |
số 8 |
exclusiveMinimum Nếu "uniqueMinimum" có mặt và có giá trị boolean true, thì trường hợp hợp lệ nếu nó lớn hơn giá trị của "tối thiểu". |
9 |
maximum Đây là ràng buộc được đặt trên giá trị và đại diện cho giá trị tối đa có thể chấp nhận được. |
10 |
exclusiveMaximum Nếu "uniqueMaximum" có mặt và có giá trị boolean true, thì phiên bản hợp lệ nếu nó thấp hơn giá trị của "tối đa". |
11 |
multipleOf Một cá thể số hợp lệ với "multipleOf" nếu kết quả của phép chia cá thể cho giá trị của từ khóa này là một số nguyên. |
12 |
maxLength Độ dài của một cá thể chuỗi được định nghĩa là số ký tự tối đa của nó. |
13 |
minLength Độ dài của một cá thể chuỗi được xác định là số ký tự tối thiểu của nó. |
14 |
pattern Một cá thể chuỗi được coi là hợp lệ nếu biểu thức chính quy khớp với cá thể đó thành công. |
Bạn có thể kiểm tra một http://json-schema.orgđể có danh sách đầy đủ các từ khóa có thể được sử dụng để xác định lược đồ JSON. Lược đồ trên có thể được sử dụng để kiểm tra tính hợp lệ của mã JSON sau:
[
{
"id": 2,
"name": "An ice sculpture",
"price": 12.50,
},
{
"id": 3,
"name": "A blue mouse",
"price": 25.50,
}
]