JSON
JSON Schema Validator
Validation de données JSON par rapport à un JSON Schema (style draft-07) — avec le chemin exact et une explication pour chaque violation.
JSON Schema describes the expected structure of a JSON document — which fields are required, what type they are, and what constraints apply to their values. This tool checks actual data against a schema and shows the exact path to every violation.
How to use it
- Paste a JSON Schema into one field and the data to validate into the other.
- The result lists each violation separately: the exact path to the problem field and a plain-language explanation of why it doesn't match the schema.
- Valid data is immediately flagged as fully compliant with the schema.
Common uses
- Checking a third-party API response against its documented schema before integrating with it.
- Debugging your own JSON Schema — figuring out why seemingly valid data gets rejected.
- Validating a configuration file against a schema before deploying.
Things to keep in mind
JSON Schema has several versions (draft-07, 2019-09, 2020-12) with small syntax differences — check which version your production validator actually expects.
required only checks that a field is present, not its value — an empty string or null still counts as "present" if the type allows it.
Article sur cet outil: JSON Schema : décrire et valider la structure d'un JSON
Questions fréquentes
Que valide cet outil exactement ?
Il vérifie que des données JSON respectent un JSON Schema (style draft-07) : types, propriétés requises, formats, plages de valeurs, etc., et signale chaque violation avec son chemin exact.
Mon schéma et mes données restent-ils privés ?
Oui, la validation s'exécute entièrement dans le navigateur via JavaScript, sans aucun envoi vers un serveur.
Que signifie une erreur avec un chemin comme $.user.age ?
Cela indique que la valeur à cet emplacement précis ne respecte pas une contrainte du schéma — mauvais type, propriété requise manquante, format invalide ou valeur hors plage, selon le message associé.
Que fait additionalProperties: false ?
Par défaut, un objet peut contenir n'importe quel champ en plus de ceux décrits dans properties. additionalProperties: false interdit les champs supplémentaires — utile pour détecter une faute de frappe dans le nom d'une clé ou un champ de debug oublié.
Peut-on décrire un champ qui accepte plusieurs types ?
Oui, via un tableau dans type, par exemple "type": ["string", "null"] si le champ peut être une chaîne ou null. Pour des cas plus complexes, on utilise les mots-clés oneOf, anyOf ou allOf.