Mode d’emploi
- Collez un exemple JSON, ou cliquez sur « Charger un exemple ».
- Indiquez le titre du schéma racine.
- Copiez ou téléchargez le schéma, puis ajoutez des contraintes comme des formats, des motifs et des plages de valeurs.
Explication des options
- Nom du type racine
- Utilisé comme title du schéma.
Exemples
{"id": 1, "email": null} devient un schéma avec "id": {"type": "integer"}, "email": {"type": "null"} et les deux clés dans required.
Exemple
Deux enregistrements d’utilisateurs, où seul le premier a un e-mail et où manager vaut parfois null :
[
{ "id": 1, "name": "Ada", "email": "ada@example.com", "tags": ["admin"], "manager": null },
{ "id": 2, "name": "Grace", "tags": [], "manager": { "id": 1 } }
]
Avec le nom du type racine réglé sur User, le schéma généré est :
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"title": "User",
"type": "array",
"items": {
"type": "object",
"properties": {
"id": { "type": "integer" },
"name": { "type": "string" },
"email": { "type": "string" },
"tags": { "type": "array", "items": { "type": "string" } },
"manager": {
"anyOf": [
{ "type": "null" },
{ "type": "object", "properties": { "id": { "type": "integer" } }, "required": ["id"] }
]
}
},
"required": ["id", "name", "tags", "manager"]
}
}
email est absent de required parce que le deuxième enregistrement ne l’a pas, et manager accepte soit null, soit un objet, parce que les deux apparaissent dans l’échantillon. Plus vos données d’exemple sont variées, plus le schéma est précis — collez plusieurs enregistrements plutôt qu’un seul.
Usages courants
Valider les entrées d’une API. Chargez le schéma dans un validateur comme Ajv (JavaScript) ou jsonschema (Python) et rejetez les requêtes qui ne correspondent pas.
Documenter une API. Collez les propriétés dans une section components.schemas d’OpenAPI comme point de départ.
Autocomplétion dans l’éditeur. VS Code et les IDE JetBrains peuvent utiliser un schéma JSON pour suggérer des clés et signaler des erreurs dans les fichiers de configuration JSON.
Questions fréquentes
Quelles clés sont marquées comme requises ?
Celles qui sont présentes dans chaque objet de l’exemple. Quand un tableau contient des objets aux clés différentes, les clés absentes de certains éléments ne figurent pas dans required.
Puis-je l’utiliser avec OpenAPI ?
OpenAPI 3.1 utilise JSON Schema 2020-12 : le schéma généré se place sous components/schemas. Pour OpenAPI 3.0, remplacez les tableaux de types comme ["string", "null"] par nullable true.
Détecte-t-il des formats comme email ou date-time ?
Non. Il déduit uniquement les types. Ajoutez à la main format, pattern, minimum et les mots-clés similaires si nécessaire.
Mon JSON est-il envoyé sur un serveur ?
Non. Les types sont générés dans votre navigateur : les réponses d’API contenant des données réelles restent sur votre appareil.
Confidentialité
Cet outil fonctionne entièrement dans votre navigateur. Vos fichiers et vos textes sont traités sur votre appareil et ne sont jamais envoyés à nos serveurs.