Générateur de JSON Schema (Draft 2020-12)
Générez un JSON Schema (draft 2020-12) à partir d'un exemple JSON : types, clés obligatoires, unions nullables, éléments de tableau et formats de chaîne comme email et date-time.
S'exécute entièrement dans votre navigateur. Vos données ne sont jamais envoyées.
Outils Connexes
Voir ToutQu'est-ce que Générateur de JSON Schema ?
Déduit un JSON Schema à partir d'un document d'exemple. Le générateur décrit le type de chaque propriété, fusionne les éléments de tableau en un seul schéma items, liste les clés obligatoires, marque les valeurs nullables par des unions de types et peut détecter les formats de chaîne courants.
Comment utiliser Générateur de JSON Schema
- Collez du JSON dans la zone Entrée JSON, ou utilisez Charger un exemple ou Ouvrir un fichier.
- Si besoin, renseignez un Titre du schéma (facultatif).
- Activez ou non Marquer les clés comme obligatoires, Détecter les formats de chaîne (email, date-time, uri…) et Interdire les propriétés supplémentaires.
- La sortie JSON Schema se met à jour pendant la saisie ; utilisez Copier ou Télécharger.
Exemple
{"id":1,"email":"a@b.co"} {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"id": {
"type": "integer"
},
"email": {
"type": "string",
"format": "email"
}
},
"required": [
"id",
"email"
]
} Quand utiliser Générateur de JSON Schema
Utilisez-le comme point de départ pour des contrats d'API, la validation de configuration ou la génération de formulaires. Un schéma déduit d'un seul exemple vaut ce que vaut l'exemple : ajoutez à la main des contraintes comme minimum, enum ou pattern avant de l'utiliser pour valider de vraies données.
Comment fonctionne Générateur de JSON Schema
L'exemple est parcouru récursivement et chaque position collecte les types JSON rencontrés (integer, number, string, boolean, object, array, null). Les entiers mêlés à des décimaux deviennent number ; plusieurs types deviennent un tableau type comme ["object", "null"]. Pour les tableaux d'objets, une propriété n'est obligatoire que si chaque objet la possède. La détection de formats compare les chaînes à des motifs pour date-time, date, time, email, uuid, uri et ipv4 et n'ajoute format que si toutes les valeurs correspondent. Le résultat déclare $schema: https://json-schema.org/draft/2020-12/schema.
Cas d'utilisation courants
- Amorcer un schéma pour le corps d'une requête d'API
- Valider des fichiers de configuration avec ajv ou un contrôle CI
- Documenter la forme d'une charge utile de webhook
- Générer des formulaires depuis un schéma dans des outils qui acceptent JSON Schema
Questions Fréquentes
Quel draft est généré ?
Le draft 2020-12, déclaré avec le mot-clé $schema. Les mots-clés utilisés (type, properties, required, items, format, additionalProperties) sont aussi valides dans le draft-07.
Comment les propriétés facultatives sont-elles détectées ?
Uniquement à partir de tableaux d'objets : si une clé manque dans certains éléments, elle est exclue de required. Pour un objet unique, toutes les clés sont obligatoires lorsque l'option est activée.
La validation des formats est-elle appliquée ?
Dans JSON Schema, format est par défaut une annotation ; des validateurs comme ajv nécessitent d'activer la validation des formats (ajv-formats).