
JSON Schema : valider des données en ligne (Draft 2020-12)
Testez payloads API et fichiers config contre un JSON Schema — erreurs par chemin JSON Pointer.
Pourquoi valider des données JSON contre un schéma ?
Un JSON valide n'est pas forcément valide pour votre API. Un payload peut parser parfaitement tout en manquant un champ requis, envoyant un mauvais type ou violant une contrainte format — et ces bugs n'apparaissent souvent qu'en tests d'intégration ou en production. JSON Schema répond à une question différente de la vérification syntaxique : cette instance respecte-t-elle le contrat ? Le validateur JSON Schema en ligne de FastMinify exécute la validation Draft-07 et 2020-12 dans deux éditeurs Monaco (schéma + instance), entièrement dans votre navigateur. Associez-le au validateur JSON si la syntaxe est douteuse, et à validate-openapi quand le contrat vit dans OpenAPI. Explorez le hub outils API pour la conversion de schémas et le lint OpenAPI.
Limites honnêtes et schémas maintenables
Un résultat vert signifie que l'instance a matché le schéma collé — pas que toute la plateforme API est conforme.
$ref externes et https:// jamais résolusLes schémas qui passent proprement dans le navigateur survivent mieux à la CI et la génération SDK.
$schema dans les fichiers partagés — éviter les assumptions 2020-12 implicitesadditionalProperties: false seulement pour objets fermés délibérésexamples OpenAPI et les coller comme instances en revuedescriptionLes checks navigateur économisent des minutes pipeline ; la politique org reste en CI.
Syntaxe JSON vs validation JSON Schema
Ne changez pas d'outil en milieu de debug — chacun cible un mode de défaillance distinct.
FastMinify détecte le draft via $schema si présent ; sans $schema, défaut 2020-12.
https://json-schema.org/draft/2020-12/schemahttp://json-schema.org/draft-07/schema#components.schemasEn cas d'échec, Ajv indique où l'instance a violé le schéma — indispensable sur les gros payloads API.
instancePath pointe vers la valeur en échec (style JSON Pointer)required, type, format, …)required → chemin / ou propriétés manquantesValider du JSON contre un schéma : pas à pas
Le validateur JSON Schema propose deux éditeurs : Schéma et Instance. Collez du JSON dans chaque champ — pas de YAML dans l'éditeur schéma (JSON uniquement). Max 512 KiB par champ.
Le mode Strict active Ajv strict: true à la compilation du schéma — keywords inconnus et schémas non-strict échouent avant validation d'instance.
Le client mobile plante sur une nouvelle forme de champ — la réponse est du JSON valide mais casse le schéma publié.
Étape 1 : confirmer la syntaxe JSON
Collez la réponse dans json-validator. Si la syntaxe échoue, réparez avant validation schéma.
Étape 2 : coller schéma et instance
Ouvrez json-schema-validator. Collez le schéma canonique (export OpenAPI ou registry) et la réponse staging.
Étape 3 : lire les erreurs instancePath
Corrigez l'API ou mettez à jour le schéma avec plan de dépréciation. Re-validez après déploiement. Option : diff staging vs production.
L'équipe partage une config JSON validée en CI — vous voulez un check local rapide sans cloner le pipeline.
Étape 1 : charger le schéma du repo
Copiez le JSON schéma (autonome — les $ref externes ne sont pas résolus dans le navigateur).
Étape 2 : valider votre édition
Collez la config modifiée comme instance. Activez Strict si le schéma est rédigé pour revue stricte.
Étape 3 : chaîner avec YAML si besoin
Les configs sont souvent en YAML — convertissez via yaml-to-json, validez syntaxe, puis schéma sur l'instance JSON.
OpenAPI, components.schemas et conversion
Les équipes REST publient souvent dans OpenAPI components.schemas tandis que les registries stockent des fichiers standalone — le validateur accepte les deux une fois extraits en JSON. Workflow : validate-openapi (enveloppe spec) → extraire schéma → json-schema-validator (payload vs schéma). Voir notre guide validation OpenAPI et le guide lint & format pour la face spec du contrat.
Quand la source est le fichier OpenAPI, pivotez les formats sur le hub sans CLI locale : openapi-to-json-schema extrait un schéma des components OpenAPI ; json-schema-to-openapi enveloppe un schéma standalone pour import portail.
La validation navigateur accélère le feedback ; la CI garde les suites de régression. Collez des instances représentatives — happy path, nulls, bornes enum. Documentez le draft dans $schema à côté de chaque fichier schéma partagé dans git.
Échecs de validation fréquents
Ces cas reviennent constamment en support et jobs CI flaky.
required manquante — instancePath sur parent ou /type — string au lieu d'integer (fréquent après sérialisation formulaire)additionalProperties: false — champs en trop après erreur de versioning APIformat — date-time, email, uuid (via ajv-formats)enum — codes statut ou régions non documentés dans le payloadLe mode Strict et les drafts non supportés surfacent ici avant validation d'instance.
$schema non supportée — migrer vers Draft-07 ou 2020-12$ref externe — erreur dure ; inlinez ou bundlez les refs localementConclusion
La validation JSON Schema comble l'écart entre JSON parseable et données API fiables. Commencez par la syntaxe si besoin, puis validez les instances contre des schémas Draft-07 ou 2020-12 avec des erreurs instancePath claires — localement avant la CI. Extrayez les schémas depuis OpenAPI quand le contrat vit dans la spec, et gardez des limites honnêtes sur refs, drafts et taille.
Articles connexes

operationId, tags, responses d'erreur : les règles qui évitent la dette sur vos specs OpenAPI.

Erreurs de schéma, $ref cassées, responses manquantes : validez votre contrat API OpenAPI 3.0–3.2 dans le navigateur.

Config K8s, CI/CD, Ansible : convertissez JSON ↔ YAML sans perdre la structure ni les types.