Générateur de JSON Schema

Génère un JSON Schema à partir de données JSON d'exemple

Entrée JSON
Paste example JSON or import a file to infer a starting schema.
Schéma généré
Review the generated schema, then copy or download it for further refinement.
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "format": "uuid"
    },
    "name": {
      "type": "string"
    },
    "email": {
      "type": "string",
      "format": "email"
    },
    "age": {
      "type": "integer"
    },
    "active": {
      "type": "boolean"
    },
    "website": {
      "type": "string",
      "format": "uri"
    },
    "tags": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "address": {
      "type": "object",
      "properties": {
        "street": {
          "type": "string"
        },
        "city": {
          "type": "string"
        },
        "postalCode": {
          "type": "string"
        }
      },
      "required": [
        "street",
        "city",
        "postalCode"
      ]
    },
    "projects": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "year": {
            "type": "integer"
          },
          "url": {
            "type": "string",
            "format": "uri"
          }
        },
        "required": [
          "name",
          "year"
        ]
      }
    },
    "lastSeen": {
      "type": "string",
      "format": "date-time"
    },
    "metadata": {
      "type": "null"
    }
  },
  "required": [
    "id",
    "name",
    "email",
    "age",
    "active",
    "website",
    "tags",
    "address",
    "projects",
    "lastSeen",
    "metadata"
  ]
}
Options

Qu’est-ce que JSON Schema ?

JSON Schema est un standard pour décrire la structure de données JSON. Il permet d’exprimer les types de champs, les structures imbriquées, les clés obligatoires et des contraintes utiles à la validation.

Ce que fait ce générateur

Collez un JSON d’exemple et l’outil déduit un schéma initial pour les objets, tableaux, nombres, booléens, valeurs null et formats de chaîne courants. Le résultat peut ensuite être copié, téléchargé et ajusté.

Exemple

Par exemple, avec cette charge utile :

Entrée d’exemple

{
  "id": "bk-101",
  "title": "In-browser Tools",
  "price": 19.99,
  "tags": ["json", "schema"],
  "published": true
}

Schéma généré

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "id": { "type": "string" },
    "title": { "type": "string" },
    "price": { "type": "number" },
    "tags": {
      "type": "array",
      "items": { "type": "string" }
    },
    "published": { "type": "boolean" }
  },
  "required": ["id", "title", "price", "tags", "published"]
}

Conseils

  • Utilisez des données d’exemple représentatives, surtout dans les tableaux, afin de mieux déduire les champs optionnels.
  • Désactivez « Infer required properties » si votre entrée n’est qu’un exemple partiel.
  • Désactivez « Allow additional properties » si vous voulez un schéma plus strict par défaut.
  • Gardez la détection des formats active pour reconnaître email, URI, UUID et date-time.