Validateur de schéma JSON
Collez un schéma et un document, choisissez le brouillon, et le validateur vérifie le document selon chaque mot-clé utilisé par votre schéma, type, required, enum, oneOf, $ref, if/then/else, format personnalisé, en rapportant chaque violation avec un pointeur de style JSONPath vers l’emplacement exact de l’infraction.
Comment valider par rapport à un schéma
-
1
Collez le schéma
Brouillon JSON Schema 04, 07 ou 2020-12. Le mot-clé `$schema` (s'il est présent) sélectionne automatiquement le brouillon.
-
2
Collez le document
Le JSON que vous souhaitez valider. Doit d'abord être un JSON valide, les erreurs de syntaxe sont affichées avant l'évaluation du schéma.
-
3
Valider
Chaque violation est rapportée avec un pointeur JSON (`/user/email`) et le mot-clé échouant (`format`, `required`, etc.).
-
4
Corriger et re-valider
Modifiez l'un ou l'autre côté et le statut se met à jour en direct.
Mots-clés supportés
Noyau : type, enum, const, multipleOf, maximum, minimum, exclusiveMaximum, exclusiveMinimum, maxLength, minLength, pattern, maxItems, minItems, uniqueItems, maxContains, minContains, maxProperties, minProperties, required, dependentRequired.
Composition : allOf, anyOf, oneOf, not.
Applicateurs : properties, patternProperties, additionalProperties, items, prefixItems, contains, propertyNames.
Conditionnels : if, then, else, dependentSchemas.
Références : $ref, $defs, $id, $anchor.
Formats (avec validation lorsque activé) : date-time, date, time, duration, email, hostname, ipv4, ipv6, uri, uuid, regex.
Sortie d’erreur
ÉCHEC /user/email format "not-an-email" n'est pas un "email" valide
ÉCHEC /user/age minimum -3 est inférieur au minimum 0
ÉCHEC /orders/0/total type "42" n'est pas de type "number"
ÉCHEC / required propriété requise "shippingAddress" manquante
Chaque erreur inclut le chemin et le mot-clé qui a échoué, ce qui permet de le localiser rapidement dans votre éditeur.
Différences de brouillon qui piquent
| Mot-clé | Brouillon 04 | Brouillon 07 | Brouillon 2020-12 |
|---|---|---|---|
id vs $id |
id |
$id |
$id |
exclusiveMaximum comme booléen |
Oui | Nombre | Nombre |
Syntaxe du tableau items |
items |
items |
prefixItems |
$ref permet des clés voisines |
Non | Non | Oui |
Définissez le bon brouillon ; valider un schéma de brouillon 04 comme 2020-12 interprétera mal id et certaines autres subtilités.
Flux de travail typiques
- Test de contrat API : avant un déploiement, confrontez le schéma OpenAPI généré/mis à jour à de vraies réponses d’échantillon.
- Renforcement de la configuration : validez chaque configuration YAML/JSON dans la CI par rapport à un schéma avant de fusionner.
- Ingestion de données : rejetez les charges utiles qui ne correspondent pas à la forme attendue tôt, avec un message d’erreur clair.
Erreurs courantes
- Oublier l’application de
format. Par défaut, la plupart des validateurs traitent les formats inconnus comme uniquement annotatifs. Activez la validation de format strict pour réellement rejeter les mauvais emails et dates. - Utilisation excessive de
oneOf. Si deux branches deoneOfse chevauchent, le document échouera (il doit correspondre exactement à un). UtilisezanyOfou des modèles de discriminateur. - Schémas stricts avec
additionalProperties: false. Ajouter un nouveau champ optionnel devient un changement de rupture. Omettez-le à moins que vous ne souhaitiez vraiment un objet fermé.
Questions fréquentes
Oui. Les brouillons 2020-12, 07 et 04 sont tous pris en charge. Le validateur lit le mot-clé $schema de votre document pour choisir le bon, ou revient au sélecteur dans l’interface.
Les formats standards (email, date-time, uuid, ipv4, etc.) sont validés lorsque le format strict est activé. Les formats personnalisés déclarés dans votre schéma sont traités comme uniquement annotatifs à moins que vous ne fournissiez une regex avec pattern.
Les références internes (#/$defs/foo) sont résolues automatiquement. Les références HTTP externes ne sont pas récupérées par défaut, pour des raisons de sécurité. Intégrez d’abord vos références externes, ou utilisez un outil dédié qui prend en charge la résolution de $ref à distance.
Oui. Le schéma et le document restent locaux. Le contenu collé n’est jamais téléchargé, sûr pour les contrats API internes et les données sensibles.
Outils similaires
Référence de la table ASCII
Table ASCII complète de 0 à 127 avec décimal, hexadécimal, octal, binaire et référence numérique HTML pour chaque caractère, y compris les codes de contrôle comme NUL, LF et DEL.
Référence des caractères HTML
Liste consultable des entités HTML, de leurs codes nommés et numériques, et un copier-coller en un clic pour les caractères et symboles spéciaux.
Compteur de FPS
Mesurez les FPS du navigateur avec requestAnimationFrame : lissage, fréquence d'images min et max, seuil d'alerte et graphique facultatif. Tout se passe en local, sans envoi ni API.
Référence des raccourcis clavier
Recherchez les raccourcis par défaut documentés de VS Code, Chrome et Bash avec GNU Readline sous macOS, Windows et Linux.
Générateur de carte CSS
Créez le CSS d’un conteneur de carte : fond, bordure, rayon des angles, espacement intérieur et ombre douce, avec aperçu immédiat et code à copier-coller.
Formateur HTML
Mettez du HTML en forme localement dans le navigateur avec une indentation de deux ou quatre espaces. Aucun HTML n’est envoyé ni validé.
Outil disponible dans d’autres langues
- JSON-Schema-Validator [DE]
- JSON Schema-validator [SV]
- JSON 스키마 검증기 [KO]
- JSON Schema-validator [NL]
- أداة التحقق من مخطط JSON [AR]
- Validador de JSON Schema [ES]
- Penentu Struktur JSON [ID]
- JSONスキーマバリデーター [JA]
- เครื่องมือตรวจสอบ JSON Schema [TH]
- Trình xác thực JSON Schema [VI]
- Walidator JSON Schema [PL]
- Validador de JSON Schema [PT]
- JSON Şeması Doğrulayıcı [TR]
- JSON 模式验证器 [ZH]
- JSON Schema Validator [EN]
- Validator di JSON Schema [IT]
- Валидатор JSON Schema [RU]