Comment valider des données JSON avec un schéma
Saisissez les données JSON et le schéma JSON dans leurs champs respectifs, puis lancez le contrôle. Le résultat distingue la validité des données de l’état général de l’opération et fournit des détails en cas d’écart.
Comprendre le rôle du validateur
Ce validateur sert à vérifier si un texte JSON respecte les règles décrites dans un schéma JSON. Vous pouvez l’utiliser avant d’envoyer des données à une API, pour contrôler un fichier de configuration ou pour repérer une structure incorrecte pendant la préparation d’un échange de données. L’outil prend séparément les données JSON et le schéma JSON, puis indique si les données sont valides et fournit des détails lorsque ce n’est pas le cas.
Valider un document JSON pas à pas
-
Préparez deux textes. Dans le champ consacré aux données, saisissez le JSON à contrôler. Dans celui consacré au schéma, saisissez le document JSON Schema qui décrit la structure attendue. Les deux champs sont facultatifs au niveau de la saisie, mais chacun doit contenir un texte exploitable pour qu’une validation puisse avoir lieu.
-
Vérifiez la syntaxe avant de lancer le contrôle. Les données et le schéma sont lus comme du JSON. Utilisez donc des guillemets doubles pour les chaînes, séparez correctement les propriétés par des virgules et fermez chaque accolade ou crochet. Un schéma peut par exemple déclarer une propriété
namede typestringet une propriétéagede typeinteger. -
Ajoutez les règles nécessaires à votre cas. Le contrôle examiné prend en charge les types
string,number,integer,boolean,objectetarray, y compris dans des structures imbriquées. Vous pouvez aussi utiliserrequiredpour signaler une propriété absente,additionalPropertiespour refuser des propriétés non déclarées,itemspour contrôler les éléments d’un tableau, ainsi queenum,minimum,maximum,minLengthetmaxLengthlorsque ces règles sont présentes dans le schéma. -
Lancez la validation. Si un champ est vide ou ne contient que des espaces, l’opération signale que les données ou le schéma sont manquants et considère les données comme non valides. Si l’un des deux textes ne peut pas être lu comme du JSON, le résultat indique une erreur d’analyse et une validité négative.
-
Lisez séparément l’état de l’opération et la validité des données. Une opération peut être signalée comme réussie alors que les données sont non valides, par exemple lorsqu’une règle du schéma n’est pas respectée. Basez donc votre décision sur le résultat de validité et sur les détails de validation, plutôt que sur le seul état général de l’opération.
Interpréter le résultat et ses limites
Un résultat valide signifie que les contrôles appliqués par le schéma n’ont pas relevé d’écart dans les données fournies. Un résultat non valide doit être rapproché du détail affiché : il peut correspondre à un type incorrect, à une propriété obligatoire absente, à une propriété supplémentaire refusée, à un élément de tableau qui ne respecte pas son schéma ou à une contrainte de valeur ou de longueur non respectée.
Prenez aussi en compte la portée du contrôle. Il vérifie les règles explicitement prises en charge dans le schéma, mais ce comportement ne constitue pas une preuve de compatibilité avec toutes les fonctionnalités de JSON Schema. Les références, les compositions, les formats et les règles de motif ne doivent pas être considérés comme contrôlés ici sans indication explicite. Une validation positive ne remplace donc pas la vérification des besoins propres à votre application.
Pour corriger un échec, commencez par la première différence clairement décrite, puis comparez le type, le nom de la propriété, la valeur et la structure attendus avec le JSON fourni. Relancez ensuite le contrôle après chaque modification importante afin d’identifier la règle qui bloquait encore la validation.
Exemple pratique
Vous vérifiez qu’un âge fourni dans un objet JSON ne peut pas être inférieur à zéro.
Saisissez les données {"age":-2} et un schéma qui déclare age comme integer avec une valeur minimale de 0, puis lancez le contrôle.
Le résultat indique que les données ne sont pas valides et fournit un détail signalant que la valeur entière négative ne respecte pas la contrainte minimale. L’état général de l’opération peut rester réussi.
Limites
- La validation couvre les contrôles implémentés pour le schéma fourni et ne prouve pas une compatibilité universelle avec toutes les fonctionnalités de JSON Schema. Les références, compositions, formats et règles de motif ne sont pas à considérer comme pris en charge sans indication explicite.
- Un champ vide ou un texte JSON mal formé empêche une validation normale et mène à un résultat non valide accompagné d’un détail correspondant.
Erreurs fréquentes
- Une erreur fréquente consiste à saisir un objet avec des guillemets simples ou une virgule finale. Cause : le texte ne peut pas être analysé comme du JSON. Action : corrigez la syntaxe des données et du schéma, puis relancez le contrôle.
Questions fréquentes
Le validateur contrôle-t-il les éléments d’un tableau ?
Oui, si le schéma déclare une règle items compatible avec le comportement pris en charge : les éléments sont alors contrôlés récursivement. Une collection de schémas non objet peut toutefois produire une erreur lorsqu’elle ne contient aucun premier schéma utilisable.
Que se passe-t-il si je laisse un champ vide ?
Le texte est considéré comme non valide et le résultat identifie le JSON ou le schéma manquant lorsqu’un des deux champs est vide ou composé uniquement d’espaces.
Un état d’opération réussi signifie-t-il que le JSON est valide ?
L’opération peut rester signalée comme réussie alors que les données sont non valides. Consultez donc le résultat de validité et les détails associés pour savoir si une règle du schéma a échoué.