Altova XMLSpy 2024 Enterprise Edition

De même qu'un schéma XML spécifie la structure et le contenu d'un document XML, un schéma JSON spécifie comment sont organisées les données JSON dans un document JSON. Il spécifie quels champs de données sont attendus et comment les valeurs sont représentées. Vous trouverez la spécification de Schéma JSON et plus d'informations concernant le schéma JSON ici.

 

Un schéma JSON est lui-même un objet JSON. Lexicalement, le schéma complet est contenu dans des accolades (voir liste ci-dessous), qui sont les délimiteurs des objets JSON. Le schéma est écrit dans la syntaxe JSON et est généralement enregistré dans un fichier avec une extension .json. Il est indiqué en tant qu'un schéma JSON, par le mot-clé \$schema, qui doit être le premier mot-clé de l'objet de niveau supérieur. Ce mot-clé devrait avoir une valeur comme l'une de celles indiquées ci-dessous :

 

Versions vers draft-07: "http://json-schema.org/draft-N/(hyper-)schema#", où N est le nombre de la version (04, 06, or 07).

Versions depuis draft-2019-09 ultérieures : "https://json-schema.org/draft/YYYY-MM/(hyper-)schema", où YYYY et MM sont, respectivement, l'année et le mois du draft, par exemple, 2019-09.

 

Ici, vous trouverez un exemple comment le mot-clé \$schema est utilisé.

 

{

   "\$schema": "https://json-schema.org/draft/2020-12/schema",

   ...

}

 

Note :Bien que le mot-clé \$schema puisse avoir la valeur "http://json-schema.org/schema#" qui spécifie la dernière version du schéma, il vaut mieux utiliser une URL qui identifie la version spécifique (puisque les fonctions plus récentes ne sont pas compatibles en arrière). Pour plus d'informations, voir Version de Schéma JSON.  

 

 

Dans XMLSpy, vous pouvez créer des schémas JSON graphiquement dans le Mode de schéma JSON. Vous trouverez une description de la procédure à suivre dans la section Mode Schéma JSON. Outre les fonctions d'édition de schéma disponibles dans le Mode de schéma JSON, les fonctions liées au schéma suivantes sont disponibles :

 

Validation avec le Validateur JSON de XMLSpy : attribuer un schéma JSON à un document d'instance JSON, et valider le document d'instance depuis XMLSpy. Voir Valider les documents JSON pour plus d'informations.

Définir les options de validation JSON.

Générer un schéma JSON depuis une instance JSON : si un document d'instance JSON existe déjà, vous pouvez générer un schéma JSON depuis le document. Vous pouvez ensuite éditer le schéma le cas échéant.

Convertir entre JSON et XML: vous pouvez convertir entre des documents des deux formats.

 

Terminologie

Ci-dessous, vous trouverez des définitions des termes de schéma JSON communs utilisés dans la GUI et dans cette documentation.

 

Terme

Définition

Schéma

L'objet de schéma de niveau supérieur dans un document de schéma JSON ; le fichier de schéma.

Objet

Un type JSON contenant zéro ou plus de propriétés.

Propriété

Une paire key:value d'un objet. Sa valeur peut être de n'importe quel type de données JSON.

Mots-clés

La partie key de la paire d'un objet key:value. Il s'agit toujours d'une chaîne.

Sous-schémas

Un objet qui est l'enfant d'un opérateur ou d'une dépendance.

Définition

La description complète de tout type JSON. Les définitions peuvent être globales ou locales.

Tableau

Une liste ordonnée de zéro ou plus d'items de tout type de données JSON séparée par des virgules.

Types atomiques

Les types de données JSON string, number, integer, boolean et null.

Sélecteurs de type

Les types any et multiple, qui sélectionnent les types any et multiple, respectivement

Opérateurs

Les sélecteurs d'occurrence qui peuvent être ajoutés en tant qu'enfants des définitions. Voir la section Opérateurs.

 

Types de données JSON

Les valeurs de propriété d'objet et les items de tableau peuvent être constitués des types suivants :

 

string (doit être contenu dans des guillemets). Une chaîne peut être spécifiée en plus pour posséder un format, comme un format date-heure ou e-mail

number: un nombre avec une partie fractionnelle ; inclut des entiers

integer: un nombre sans partie fractionnelle ; un sous-ensemble du type number

boolean (true/false, non contenu dans des guillemets)

object: lorsqu'utilisé avec un autre objet, permet d'imbriquer des données

array: fournit la possibilité de construire des structures plus complexes que ce qui est autorisé par les objets

null (null, non contenu dans des guillemets)

 

© 2017-2023 Altova GmbH