Validation JSON Schema

Traitement local
app.schema.view

Vous pouvez aussi injecter des données via #data={"name":"Ada"} ou #url=... Elles sont lues puis retirées de la barre d’adresse.

Mode d'emploi

Inférez un JSON Schema à partir d’un JSON d’exemple. Utile quand une vraie réponse existe avant la doc d’API, ou comme point de départ pour un validateur. Relisez à la main required et enum : l’outil ne voit que « ce que cet exemple contient », pas « ce que le métier exige ».

Partir de l’exemple

Objets, tableaux, chaînes et nombres sont mappés vers le type correspondant. Les objets imbriqués déplient autant que possible properties.

Sans élément dans un tableau vide, le type de items peut être faux : ajoutez un vrai élément puis réinférez.

À traiter comme brouillon

L’inférence automatique ne sait pas si un champ est requis : à vous de corriger required. Champs optionnels, enum, format (email, uri) se complètent à la main.

Ensuite, faites tourner le résultat dans le CI avec ajv (ou équivalent) : plus fiable qu’un accord oral.

Génération locale

Les données d’exemple ne sont pas envoyées. Avec un échantillon de production, masquez d’abord.

La sortie contient une déclaration $schema , pour que d’autres outils reconnaissent la version.

Exemple

JSON d’exemple
{
  "id": 1001,
  "name": "Ada",
  "active": true
}
Schema inféré (extrait)
{
  "type": "object",
  "properties": {
    "id": { "type": "number" },
    "name": { "type": "string" },
    "active": { "type": "boolean" }
  }
}
Peut-on valider un autre JSON avec ?

Cette page génère surtout un Schema à partir d’un exemple. Passez le résultat à votre backend ou à ajv dans le CI pour valider.

Et l’imbrication et les tableaux ?

L’inférence descend autant que possible. Sans échantillon d’élément, le type d’item peut être inexact.

Comment choisir face à la page GraphQL ?

Doc REST / JSON : Schema ; service GraphQL : page d’inférence de types.

Le format email est-il marqué ?

L’accent est sur l’inférence de types. Ajoutez email et autres formats selon le métier.

Flux recommandé

  1. Préparez une réponse de succès avec le plus de champs possible.
  2. Générez le Schema et vérifiez que type et properties sont raisonnables.
  3. Complétez à la main required, enum, additionalProperties, etc.
  4. Placez-le dans Mock / CI pour valider les réponses suivantes, et relisez les versions avec Diff.

Un seul exemple ne donne pas un contrat complet. Croisez plusieurs échantillons, puis resserrez le Schema.