JSON - Schemat

Schemat JSON to specyfikacja formatu opartego na JSON do definiowania struktury danych JSON. Został napisany w ramach projektu IETF, który wygasł w 2011 roku. Schemat JSON -

  • Opisuje istniejący format danych.
  • Przejrzysta, czytelna dla człowieka i maszyny dokumentacja.
  • Pełna walidacja strukturalna, przydatna do testów automatycznych.
  • Pełna walidacja strukturalna, weryfikacja danych przesłanych przez klienta.

Biblioteki walidacji schematu JSON

Obecnie dostępnych jest kilka walidatorów dla różnych języków programowania. Obecnie najbardziej kompletnym i zgodnym walidatorem schematu JSON jest JSV.

Języki Biblioteki
do WJElement (LGPLv3)
Jawa json-schema-validator (LGPLv3)
.NETTO Json.NET (MIT)
ActionScript 3 Frigga (MIT)
Haskell aeson-schema (MIT)
Pyton Jsonschema
Rubin autoparse (ASL 2.0); ruby-jsonschema (MIT)
PHP php-json-schema (MIT). json-schema (Berkeley)
JavaScript Uporządkowany (BSD); JSV; json-schema; Matic (MIT); Dojo; Wytrwaj (zmodyfikowany BSD lub AFL 2.0); schema.js.

Przykład schematu JSON

Poniżej podano podstawowy schemat JSON, który obejmuje klasyczny opis katalogu produktów -

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

Sprawdźmy różne ważne słowa kluczowe, które można zastosować w tym schemacie -

Sr.No. Słowo kluczowe i opis
1

$schema

Słowo kluczowe $ schema określa, że ​​ten schemat został napisany zgodnie z roboczą specyfikacją v4.

2

title

Użyjesz tego, aby nadać tytuł swojemu schematowi.

3

description

Mały opis schematu.

4

type

Słowo kluczowe type definiuje pierwsze ograniczenie dotyczące naszych danych JSON: musi to być obiekt JSON.

5

properties

Definiuje różne klucze i ich typy wartości, minimalne i maksymalne wartości, które mają być używane w pliku JSON.

6

required

To zachowuje listę wymaganych właściwości.

7

minimum

To jest ograniczenie, które należy nałożyć na wartość i reprezentuje minimalną dopuszczalną wartość.

8

exclusiveMinimum

Jeśli „exclusiveMinimum” jest obecne i ma wartość logiczną true, instancja jest prawidłowa, jeśli jest ściśle większa niż wartość „minimum”.

9

maximum

To jest ograniczenie, które należy nałożyć na wartość i reprezentuje maksymalną dopuszczalną wartość.

10

exclusiveMaximum

Jeśli „exclusiveMaximum” jest obecne i ma wartość logiczną true, instancja jest prawidłowa, jeśli jest dokładnie niższa niż wartość „maximum”.

11

multipleOf

Wystąpienie liczbowe jest poprawne w stosunku do „multipleOf”, jeśli wynikiem podziału wystąpienia przez wartość tego słowa kluczowego jest liczba całkowita.

12

maxLength

Długość wystąpienia ciągu definiuje się jako maksymalną liczbę jego znaków.

13

minLength

Długość wystąpienia ciągu definiuje się jako minimalną liczbę jego znaków.

14

pattern

Instancja ciągu jest uznawana za prawidłową, jeśli wyrażenie regularne pasuje do instancji.

Możesz sprawdzić http://json-schema.orgaby zapoznać się z pełną listą słów kluczowych, których można użyć podczas definiowania schematu JSON. Powyższy schemat może służyć do testowania poprawności następującego kodu JSON -

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