Aller au contenu
ToolMug

Générateur de JSON Schema à partir de JSON

Collez un exemple JSON et obtenez le JSON Schema qui le décrit — types, objets imbriqués, éléments des tableaux et clés requises. Servez-vous-en comme point de départ pour la validation, les formulaires ou la documentation d’API.

Fonctionne dans votre navigateur — rien de ce que vous saisissez n’est envoyé

Mode d’emploi

  1. Collez un exemple JSON, ou cliquez sur « Charger un exemple ».
  2. Indiquez le titre du schéma racine.
  3. 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.

Outils similaires