🌐 FR

🧬 Générateur de schéma JSON

Collez des données JSON d'exemple pour inférer automatiquement un schéma JSON Schema draft-07. Il détecte le type de chaque valeur, marque les clés d'objet comme obligatoires et fusionne les schémas des éléments de tableau.

GUIDE

En savoir plus

01

1. Qu'est-ce que JSON Schema

JSON Schema est une norme pour décrire la structure, les types et les contraintes des données JSON. Il est largement utilisé pour valider les requêtes et réponses d'API, vérifier les fichiers de configuration et automatiser la documentation. Cet outil génère un schéma draft-07 à partir d'un seul exemple JSON, ce qui vous évite d'en écrire un manuellement à partir de zéro.

02

2. Règles d'inférence

Les chaînes, entiers, flottants, booléens et null sont mappés aux types string, integer, number, boolean et null. Les objets obtiennent des propriétés et marquent chaque clé présente comme obligatoire ; les tableaux fusionnent les schémas de tous les éléments dans items. Lorsque les éléments d'un tableau ont des clés différentes, seules les clés présentes dans chaque élément restent obligatoires.

03

3. Affiner le résultat

L'inférence automatique n'est qu'un point de départ. Les vrais schémas ajoutent généralement le format (email, date-time), la longueur min/max, enum, le motif regex et des ajustements pour les champs optionnels. Les entrées volumineuses sont limitées par un plafond de nœuds pour des raisons de performance, donc créez un brouillon à partir d'un échantillon représentatif puis ajustez finement les contraintes.

Questions fréquentes

Quelle version de JSON Schema est générée ?
Un schéma draft-07. Le champ $schema est défini sur http://json-schema.org/draft-07/schema#.
Pourquoi chaque clé est-elle marquée comme obligatoire ?
Une clé présente dans l'exemple est inférée comme apparaissant toujours, donc elle est marquée obligatoire. Supprimez les champs optionnels du tableau required après la génération.
Mon JSON est-il envoyé à un serveur ?
Non. L'inférence se fait entièrement dans votre navigateur et les données ne sont jamais envoyées à un serveur.
Que se passe-t-il si les éléments du tableau ont des formes différentes ?
Leurs schémas sont fusionnés : seules les clés communes restent obligatoires, et les types mélangés deviennent un tableau de types (integer+number sont unifiés en number).