Vous êtes sur la page 1sur 7

JSON Schema

16 février 2024
TABLE DES MATIÈRES TABLE DES MATIÈRES

Table des matières

1 JSON Schema 3

1.1 Définition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

1.2 L’avantage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

1.3 Création d’un schéma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

1.3.1 Exemple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

1.4 Validation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

1.4.1 validation d’un document en PTIME . . . . . . . . . . . . . . . . . . . . . . 6

1.4.2 Validation d’un document en PTIME-hard . . . . . . . . . . . . . . . . . . . 6

JSON Schema 2
1 JSON SCHEMA

1 JSON Schema

1.1 Définition

JSON Schema (Javascript Object Notation Schema) est un langage de description de données
qui permet de valider la structure et le contenu des données JSON. Il fournit un moyen de décrire
la structure d’un objet JSON, y compris les types de données attendus, les contraintes de format
et les relations entre les différentes parties de l’objet. JSON Schema utilise un format JSON lui-
même pour définir ces schémas de validation, offrant ainsi une méthode standardisée et flexible
pour spécifier et valider des données JSON. [2]

1.2 L’avantage

L’avantage principal de JSON Schema est sa capacité à garantir la cohérence et la qualité


des données dans une application. En utilisant des schémas JSON, les développeurs peuvent
s’assurer que les données entrantes sont correctement formatées et respectent les contraintes spé-
cifiées, ce qui réduit les erreurs de traitement des données et améliore la fiabilité du logiciel dans
son ensemble, il joue donc un rôle de standard entre les informaticiens.

1.3 Création d’un schéma

Pour créer une schéma de JSON, il faut respepcter quelques mots-clés.[3]

JSON Schema 3
1.3 Création d’un schéma 1 JSON SCHEMA

Mot-clé Description
$schema Le mot-clé $schema indique que ce schéma est rédigé
selon la spécification du brouillon v4.
title Vous l’utiliserez pour donner un titre à votre schéma.
description Une petite description du schéma.
type Le mot-clé type définit la première contrainte sur nos
données JSON : elles doivent être un objet JSON.
properties Définit diverses clés et leurs types de valeur, valeurs mi-
nimales et maximales à utiliser dans le fichier JSON.
required Cela maintient une liste des propriétés requises.
minimum C’est la contrainte à appliquer sur la valeur et représente
la valeur minimale acceptable.
exclusiveMinimum Si "exclusiveMinimum" est présent et a la valeur boo-
léenne true, l’instance est valide si elle est strictement
supérieure à la valeur de "minimum".
maximum C’est la contrainte à appliquer sur la valeur et représente
la valeur maximale acceptable.
exclusiveMaximum Si "exclusiveMaximum" est présent et a la valeur boo-
léenne true, l’instance est valide si elle est strictement
inférieure à la valeur de "maximum".
multipleOf Une instance numérique est valide par rapport à "mul-
tipleOf" si le résultat de la division de l’instance par la
valeur de ce mot-clé est un entier.
maxLength La longueur d’une instance de chaîne est définie comme
le nombre maximum de ses caractères.
minLength La longueur d’une instance de chaîne est définie comme
le nombre minimum de ses caractères.
pattern Une instance de chaîne est considérée comme valide si
l’expression régulière correspond à l’instance avec suc-
cès.

JSON Schema 4
1.4 Validation 1 JSON SCHEMA

1.3.1 Exemple
 
1 {
2 " $Schema " : " .... " ,
3 " $id " : " .... " ,
4 " title " : " .... " ,
5 " description " : " .... " ,
6 " type " : " object "
7 " properties " : {
8 " id " : {
9 " description " : " identifiant " ,
10 " type " : " number "
11 },
12 " name " : {
13 " description " : " le nom " ,
14 " type " : " string "
15 },
16 " grades " : {
17 " description " : " liste des notes " ,
18 " type " : " array " ,
19 " items " : {
20 " type " : " string "
21 },
22 " uniqueItems " : true
23 }
24 },
25 " required " : [ " id " , " name " , " grades " ]
26 }
 

1.4 Validation

La validation du JSON Schema est un processus par lequel les données JSON sont vérifiées
par rapport à un schéma JSON spécifié pour garantir leur conformité aux règles et aux contraintes
définies dans ce schéma. Le JSON Schema fournit une méthode standardisée pour décrire la struc-
ture attendue des données JSON, y compris les types de données, les propriétés requises, les valeurs
autorisées, les formats de données et les relations entre les différentes parties des données. [1]

Lorsqu’une validation JSON Schema est effectuée, les données JSON sont comparées au schéma
correspondant, et toute violation des règles spécifiées dans le schéma est détectée et signalée.

La validation d’un document par rapport au schéma est toujours en PTIME et peut être résolu
en temps linéaire tant que le schéma n’utilise pas de uniqueItems.

JSON Schema 5
1.4 Validation 1 JSON SCHEMA

1.4.1 validation d’un document en PTIME

Nous traitons le document restriction par restriction, tout en vérifiant la conformité au sous-
schéma correspondant dans S. Le temps d’exécution est linéaire car la correspondance à chaque
mot-clé du schéma JSON peut être vérifiée en temps linéaire (sauf pour les éléments uniques).

1.4.2 Validation d’un document en PTIME-hard

On fait la même chose mais on vérifie aussi que les éléments d’un tableau J sont uniques,
d’abord en triant le tableau J.

La preuve est par réduction du problème de la valeur du circuit monotone

JSON Schema 6
RÉFÉRENCES RÉFÉRENCES

Références
[1] Fernando Suarez Domagoj Vrgoč Martín Ugarte Felipe Pezoa, Juan L. Reutter. Foundations
of json schema. Accessed : 13 Février 2024.

[2] JSON Schema org. Creating your first schema. Accessed : 12 Février 2024.

[3] Tutorials Point. Json - schema. Accessed : 12 Février 2024.

JSON Schema 7

Vous aimerez peut-être aussi