Guide du schéma JSON

Schéma JSON

Avant d'entrer dans JSON Schema, il est important de connaître la différence entre JSON et JSON Schema.

JSON

JSON est l'abréviation de JavaScript Object Notation, et c'est un format de données indépendant du langage que les API utilisent pour envoyer des demandes et des réponses. JSON est simple à lire et à écrire pour les personnes et les machines. JSON est un format textuel qui n'est pas lié à la langue (indépendant de la langue).

Schéma JSON

JSON Schema est un outil utile pour vérifier la structure des données JSON. Pour spécifier la structure de JSON, utilisez un format basé sur JSON. Son but est de s'assurer que les données JSON sont acceptables. La convention pour les données JSON de notre application peut être définie à l'aide d'un schéma.

Il existe trois sections principales dans la spécification du schéma JSON :

Hyper-schéma JSON :

JSON Hyper-Schema est un langage de schéma JSON qui peut être utilisé pour étiqueter des documents JSON avec des hyperliens et des instructions pour le traitement et la modification de ressources JSON externes via des environnements textuels tels que HTTP. Cliquez sur ici pour en savoir plus sur JSON Hyper-Schema.

Noyau de schéma JSON :

Il s'agit d'un ensemble de règles d'étiquetage et de validation des documents JSON. 

Noyau de schéma JSON :

  • Décrit le format de données que vous avez actuellement. 
  • Valide les données pouvant être utilisées dans les tests automatisés. 
  • Assurer l'exactitude des données fournies par les clients.  
  • Fournit une documentation lisible pour les humains et les machines. 

Validation du schéma JSON :

La validation basée sur le schéma JSON impose des limites sur la structure des données d'instance. Après cela, tous les mots clés ayant une non-assertion d'information, telles que les métadonnées descriptives et les indications d'utilisation, sont ajoutées à une position d'instance qui respecte toutes les contraintes déclarées. 

L'outil JSON Schema Validator de Newtonsoft est un outil que vous pouvez utiliser directement dans votre navigateur, gratuitement. Vous pouvez utiliser cet outil pour tester la structure de votre schéma JSON. Cette page contient des commandes et des explications pour vous aider à démarrer. De cette façon, il est facile de voir comment améliorer votre structure JSON.

Nous pouvons vérifier notre objet JSON à l'aide de l'outil de validation de schéma JSON :

Validateur JSON sans erreur

Nous avons la validation de l'âge (minimum = 20 et maximum = 40) comme indiqué dans la figure ci-dessus. Aucune erreur n'a été trouvée.

Validateur JSON avec erreur

Il affichait une erreur si la validation de l'âge était mal saisie.

La création d'un schéma JSON

Regardons un exemple de schéma JSON pour voir de quoi nous parlons. Un objet JSON de base décrivant un catalogue de produits est le suivant :

Exemple JSON

Son schéma JSON peut être écrit comme suit :

Résultat du schéma JSON

Un schéma JSON est un document JSON, et ce document DOIT être un objet. Les mots-clés sont des membres/attributs d'objet spécifiés par le schéma JSON. Les "mots clés" dans le schéma JSON font référence à la partie "clé" d'une combinaison clé/valeur dans un objet. L'écriture d'un schéma JSON implique le mappage d'un "mot clé" particulier à une valeur dans un objet pour la plupart. 

Examinons de plus près les mots clés que nous avons utilisés dans notre exemple : 

Le schéma JSON auquel le schéma de la ressource est conforme est écrit par cet attribut. Ce schéma est écrit selon la norme Drafts v4, comme spécifié par le "$ schéma" mot-clé. Cela empêche votre schéma de revenir à la version actuelle, qui peut ou non être compatible avec une version plus ancienne.

Le "titre" et "la description” les mots-clés sont juste explicatifs ; ils n'imposent aucune limitation aux données vérifiées. Ces deux mots-clés décrivent l'objectif du schéma : il décrit un produit.

Le "type” Le mot-clé définit la première condition aux limites de nos données JSON ; il doit s'agir d'un objet JSON. Si nous ne définissons pas le type pour tous les schémas, le code ne fonctionnera pas. Certains types courants sont "numéro" "booléen" "entier" "null" "objet" "tableau" "chaîne".

 

Le schéma JSON est pris en charge par les bibliothèques suivantes :

 

Langue

Bibliothèque

C

WJÉlément

Python

jschon

PHP

Schéma Opis Json

JavaScript

ajv

Go

schéma gojsons

Kotlin

Média-validateur

Rubi

JSONSchemerName

JSON (syntaxe)

Examinons brièvement la syntaxe fondamentale de JSON. La syntaxe JSON est un sous-ensemble de la syntaxe JavaScript qui comprend les éléments suivants :

  • Des paires nom/valeur sont utilisées pour représenter des données.
  • Les objets sont entre accolades et chaque nom est précédé d'un ':' (deux-points), avec des paires de valeurs séparées par "," (virgule).
  • Les valeurs sont séparées par "," (virgule) et les tableaux sont entre crochets.
Exemple de syntaxe JSON

Les deux structures de données suivantes sont prises en charge par JSON :

  • Liste ordonnée de valeurs : Il peut s'agir d'un tableau, d'une liste ou d'un vecteur.
  • Collection de paires nom/valeur : Différents langages informatiques prennent en charge cette structure de données.

 

JSON (Objet)

Un schéma JSON est un objet JSON qui décrit le type et la structure d'un objet JSON différent. Une expression d'objet JavaScript peut représenter un objet JSON dans les environnements d'exécution JavaScript. Voici quelques exemples d'objets de schéma valides :

Programme

Allumettes

{}

de n'importe quelle valeur

{ type : 'objet' }

un objet JavaScript

{ tapez : 'numéro' }

un numéro JavaScript

{ type : 'chaîne'}

une chaîne JavaScript

Par exemple:

Création d'un nouvel objet vide :

var JSON_Obj = {} ;

Création d'un nouvel objet :

var JSON_Obj = nouvel objet()

JSON (Comparaison avec XML)

JSON et XML sont des formats lisibles par l'homme indépendants du langage. Dans des scénarios réels, ils peuvent à la fois créer, lire et décoder. Sur la base des critères suivants, nous pouvons comparer JSON avec XML.

Complexité

Parce que XML est plus complexe que JSON, les programmeurs préfèrent JSON.

Utilisation des tableaux

XML est utilisé pour exprimer des données structurées ; cependant, XML ne prend pas en charge les tableaux, contrairement à JSON.

Analyse

JSON est interprété à l'aide de la fonction eval de JavaScript. eval renvoie l'objet décrit lorsqu'il est utilisé avec JSON.

 

Mise en situation :

 

JSON

XML

{

   « entreprise » : Ferrari,

   "nom": "GTS",

   "prix": 404000

}

 

 

Ferrari 

 

GTS 

 

404000 

 

Avantages du schéma JSON

JSON est conçu pour dévier dans un langage lisible par l'homme et la machine. Cependant, sans quelques ajustements, cela ne peut être ni l'un ni l'autre. JSON Schema a l'avantage de rendre JSON plus compréhensible pour les machines et les humains.

L'utilisation de JSON Schema supprime également le besoin de plusieurs mises à jour côté client. Faire une liste de codes HTML courants, puis les implémenter côté client est une méthode typique mais inexacte pour construire côté client API applications. Cependant, ce n'est pas la meilleure stratégie car des modifications côté serveur peuvent entraîner un dysfonctionnement de certaines fonctionnalités.

Le principal avantage de JSON Schema est sa compatibilité avec une variété de langages de programmation, ainsi que la précision et la cohérence de la validation.

Le schéma JSON prend en charge une large gamme de navigateurs et systèmes d'exploitation, par conséquent, les applications écrites en JSON ne demandent pas beaucoup d'efforts pour les rendre toutes compatibles avec les navigateurs. Au cours du développement, les développeurs envisagent plusieurs navigateurs, bien que JSON en ait déjà les capacités.

JSON est le moyen le plus efficace de partager des données de toute taille, y compris l'audio, la vidéo et d'autres médias. Cela est dû au fait que JSON stocke les données dans des tableaux, ce qui facilite la transmission des données. Par conséquent, JSON est le meilleur format de fichier pour les API et le développement en ligne.

À mesure que les API deviennent de plus en plus courantes, il est logique de supposer que la validation et les tests des API deviendront de plus en plus importants. Il est également réaliste de s'attendre à ce que JSON ne devienne pas beaucoup plus simple avec le temps. Cela implique qu'avoir un schéma pour vos données ne fera que devenir plus critique avec le temps. Étant donné que JSON est le format de fichier standard pour travailler avec des API, JSON Schema est un bon substitut pour ceux qui travaillent avec des API.