JSON - Схема

Схема JSON - это спецификация формата на основе JSON для определения структуры данных JSON. Он был написан в рамках проекта IETF, срок действия которого истек в 2011 году. Схема JSON -

  • Описывает ваш существующий формат данных.
  • Понятная, понятная и машиночитаемая документация.
  • Полная структурная проверка, полезная для автоматизированного тестирования.
  • Полная структурная проверка, проверка данных, представленных клиентом.

Библиотеки проверки схемы JSON

В настоящее время доступно несколько валидаторов для разных языков программирования. В настоящее время наиболее полным и совместимым валидатором схемы JSON является JSV.

Языки Библиотеки
C WJElement (LGPLv3)
Ява валидатор схемы-json (LGPLv3)
.СЕТЬ Json.NET (Массачусетский технологический институт)
ActionScript 3 Frigga (Массачусетский технологический институт)
Haskell aeson-schema (MIT)
Python Jsonschema
Рубин автопарсинг (ASL 2.0); ruby-jsonschema (Массачусетский технологический институт)
PHP php-json-schema (MIT). json-schema (Беркли)
JavaScript Обычный (BSD); JSV; json-schema; Matic (Массачусетский технологический институт); Додзё; Persevere (модифицированный BSD или AFL 2.0); schema.js.

Пример схемы JSON

Ниже приведена базовая схема JSON, которая охватывает классическое описание каталога продуктов.

{
   "$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"]
}

Давайте проверим различные важные ключевые слова, которые можно использовать в этой схеме -

Sr. No. Ключевое слово и описание
1

$schema

Ключевое слово $ schema указывает, что эта схема написана в соответствии с черновиком спецификации v4.

2

title

Вы будете использовать это, чтобы дать название своей схеме.

3

description

Небольшое описание схемы.

4

type

Ключевое слово type определяет первое ограничение для наших данных JSON: это должен быть объект JSON.

5

properties

Определяет различные ключи и их типы значений, минимальные и максимальные значения, которые будут использоваться в файле JSON.

6

required

Здесь хранится список необходимых свойств.

7

minimum

Это ограничение на значение, которое представляет собой минимально допустимое значение.

8

exclusiveMinimum

Если "exclusiveMinimum" присутствует и имеет логическое значение "истина", экземпляр действителен, если он строго больше, чем значение "минимума".

9

maximum

Это ограничение на значение, которое представляет собой максимально допустимое значение.

10

exclusiveMaximum

Если "exclusiveMaximum" присутствует и имеет логическое значение "истина", экземпляр действителен, если он строго ниже значения "максимум".

11

multipleOf

Числовой экземпляр действителен для "multipleOf", если результат деления экземпляра на значение этого ключевого слова является целым числом.

12

maxLength

Длина экземпляра строки определяется как максимальное количество его символов.

13

minLength

Длина экземпляра строки определяется как минимальное количество его символов.

14

pattern

Экземпляр строки считается действительным, если регулярное выражение успешно соответствует экземпляру.

Вы можете проверить http://json-schema.orgдля получения полного списка ключевых слов, которые можно использовать при определении схемы JSON. Вышеупомянутая схема может использоваться для проверки действительности следующего кода JSON -

[
   {
      "id": 2,
      "name": "An ice sculpture",
      "price": 12.50,
   },
	
   {
      "id": 3,
      "name": "A blue mouse",
      "price": 25.50,
   }
]