Validateur JSON Schema
JSON Schema Validator
Valide un document contre un JSON Schema et rapporte chaque échec avec le chemin exact dans l’instance.
Valide un document JSON contre un JSON Schema, draft 2020-12, entièrement dans le navigateur. Il passe les 1 299 tests obligatoires de la JSON-Schema-Test-Suite officielle, et chaque échec est signalé avec l'emplacement dans l'instance et le mot-clé qui l'a produit.
Schéma (draft 2020-12)
Données à valider
Résultat
Verdict
Non valide
Échecs
3
| Emplacement dans l’instance | Mot-clé | Problème |
|---|---|---|
| /port | maximum | doit être inférieur ou égal à 65535 |
| /tags | uniqueItems | les éléments 0 et 1 sont égaux |
| /debug | false | n’est jamais valide ici (le schéma vaut false) |
$ref se résout dans le schéma, dans les documents supplémentaires collés et dans les méta-schémas 2020-12 fournis : les références distantes sont refusées plutôt que téléchargées, donc un verdict ne dépend jamais du réseau. format est signalé comme une annotation et non imposé, ce qui est le comportement de 2020-12 par défaut.Comment s’en servir
Collez le schéma et les données
Les deux zones revalident au fil de la frappe. Une erreur de syntaxe dans l'une ou dans l'autre est signalée séparément, pour que vous sachiez quel côté est cassé.
Ajoutez les documents référencés si vous avez des `$ref`
Activez Schémas supplémentaires et collez-les — un document ou un tableau de documents, chacun avec son `$id`. Rien n'est récupéré sur le réseau : un schéma réparti sur plusieurs fichiers se valide donc quand même ici.
Lisez la table des échecs
Chaque ligne donne le chemin dans l'instance, le mot-clé qui a échoué et ce qu'il attendait. Copiez l'ensemble en JSON si vous le collez dans un ticket.
Questions fréquentes
Pourquoi mon `"format": "email"` n'est-il pas appliqué ?
Parce que la 2020-12 fait de `format` une annotation par défaut — un validateur a le droit de le rapporter sans le vérifier, et la plupart font exactement cela. S'il vous le faut appliqué, utilisez `pattern`, ou un validateur configuré avec le vocabulaire d'assertion de format.
Une `$ref` distante n'a pas pu être résolue.
Les références distantes sont refusées, pas récupérées. Un validateur qui va sur le réseau donne des résultats qui dépendent du DNS et de la disponibilité de quelqu'un d'autre, et il dit à ce quelqu'un quels schémas vous validez. Collez plutôt le document référencé dans la zone des schémas supplémentaires.
Quels drafts sont pris en charge ?
La 2020-12. Un schéma Draft-07 se valide souvent quand même — la plupart des mots-clés n'ont pas changé —, mais `definitions` n'est pas `$defs`, `items` veut dire autre chose pour les tuples, et `$recursiveRef` a disparu. Vérifiez la ligne `$schema` avant de supposer.
Pourquoi autant d'erreurs pour un seul champ erroné ?
Parce qu'un échec à l'intérieur d'`anyOf`, de `oneOf` ou d'`allOf` rapporte chaque branche qui a échoué — c'est ce que la spécification dit qu'une unité de sortie contient. La première ligne est en général celle que vous voulez ; les autres expliquent pourquoi aucune des solutions de rechange ne correspondait non plus.
À alimenter depuis
Formateur et validateur YAML
YAML Formatter & Validator
Réindente le YAML de façon cohérente, le valide et signale les tabulations et les ancres qui font échouer les analyseurs.
Conversion JSON ⇄ YAML
JSON ⇄ YAML
Convertit dans les deux sens en préservant l’ordre des clés, avec style en blocs ou en flux du côté YAML.
JSON vers schéma Zod
JSON to Zod Schema
Construit un schéma Zod à partir d’un échantillon JSON, avec déduction des champs nuls, facultatifs et des énumérations.
JSON vers JSON Schema
JSON to JSON Schema
Déduit un JSON Schema à partir d’un ou plusieurs échantillons, en réunissant les formes rencontrées.
Ensuite
Ces outils acceptent ce que celui-ci produit : le résultat peut y aller directement.
Formateur et validateur JSON
JSON Formatter & Validator
Met en forme, minifie et valide du JSON en désignant la ligne et la colonne exactes de l’erreur de syntaxe.
JSON vers JSON Schema
JSON to JSON Schema
Déduit un JSON Schema à partir d’un ou plusieurs échantillons, en réunissant les formes rencontrées.
Analyseur OpenAPI
OpenAPI Linter
Contrôle un document OpenAPI et signale les réponses manquantes, les schémas inutilisés, les références qui ne pointent sur rien et les autres défauts qui cassent les générateurs de code.
Formateur et validateur YAML
YAML Formatter & Validator
Réindente le YAML de façon cohérente, le valide et signale les tabulations et les ancres qui font échouer les analyseurs.
Conversion JSON ⇄ CSV
JSON ⇄ CSV
Aplatit du JSON imbriqué en colonnes ou reconstruit des objets depuis un tableau, avec un nommage des colonnes par chemin pointé.
Comparateur JSON
JSON Diff
Compare deux documents JSON sur leur structure, sans tenir compte de l’ordre des clés, et signale les chemins ajoutés, retirés et modifiés.