Générateur et validateur de schéma JSON

Générez un schéma JSON (draft-07) à partir de données JSON d’exemple, ou validez n’importe quel document JSON avec n’importe quel schéma, avec des messages d’erreur précis. Voir aussi : Formateur JSON | Évaluateur JSONPath | Tous les outils JSON.
Tout le traitement se fait localement dans votre navigateur — rien n’est envoyé.
Générer le schéma Valider les données
Collez ci-dessous un objet JSON (ou un tableau d’objets — les propriétés sont fusionnées et required est la réunion). Le schéma est déduit ; modifiez-le ensuite si vous avez besoin de règles plus strictes.
Inclure l’en-tête $schema — ajoute en tête la déclaration draft-07 pour que les validateurs connaissent le dialecte utilisé par le schéma. Exemple : "$schema": "http://json-schema.org/draft-07/schema#"
Marquer les clés required — ajoute à la liste required chaque clé trouvée dans l’exemple JSON. Exemple : "required": ["name", "price", "inStock"]
Regrouper les petits ensembles de valeurs dans enum — lorsqu’un tableau de scalaires contient entre 2 et 8 valeurs uniques, son type d’élément est restreint à une énumération. Exemple : "tags": ["sale", "new", "sale"] → "tags": {"type": "array", "items": {"type": "string", "enum": ["sale", "new"]}}
Détecter les formats de chaîne courants — reconnaît les dates ISO, les dates-heures, les UUID, les e-mails et les URL, et ajoute format. Exemple : "createdAt": {"type": "string", "format": "date-time"}
Remarques sur le générateur : les nombres entiers deviennent "integer" ; les chaînes ne reçoivent format que lorsque la case de format est cochée ; plusieurs objets JSON dans un tableau sont fusionnés (les clés de même type gardent le premier type, les types mixtes se replient sur un tableau de type ; required est la réunion de tous les exemples). Avec Valider les données, chaque règle en échec est signalée avec son chemin JSON-pointer (par exemple .items[0].price) pour que vous puissiez accéder directement à la valeur fautive.
Schéma JSON — un contrat, pas un système de types

Un schéma JSON décrit à quoi doit ressembler un document valide : quelles clés sont obligatoires, quels types ont les valeurs, quelles plages et quels motifs sont attendus. La validation confronte les données à ce contrat ; elle ne transforme rien. Les schémas sont versionnés par brouillon — cette page génère du draft-07, le dialecte le plus largement pris en charge ; le 2020-12 est la version actuelle.

Un schéma généré est une supposition à partir d’exemples — renforcez à la main required, enum et format.