# Validateur JSON Schema

Valide les données JSON par rapport à un JSON Schema pour vérifier la structure et les types de données

> Page canonique: https://elysiatools.com/fr/tools/json-schema-validator

- **Catégorie:** Validation

- **Mots-clés:** json, schema, validateur, validation, structure, données, format

## Présentation

# Validateur JSON Schema

## Vue d'ensemble

JSON Schema Validator est un outil puissant pour valider les données JSON par rapport à des schémas prédéfinis. Il garantit que vos données JSON sont conformes aux structures, types de données et contraintes attendus.

## Fonctionnalités

### Mots-clés JSON Schema pris en charge

- **type**: Valide le type de données (string, number, integer, boolean, array, object, null)
- **properties**: Définit les schémas de propriétés d'objet
- **required**: Spécifie les propriétés d'objet requises
- **additionalProperties**: Contrôle si les propriétés supplémentaires sont autorisées
- **items**: Définit les schémas d'éléments de tableau (schéma unique ou validation de tuple)
- **minItems / maxItems**: Définit les contraintes de longueur de tableau
- **uniqueItems**: exige que tous les éléments du tableau soient uniques
- **enum**: Restreint les valeurs à un ensemble spécifique
- **const**: Exige une valeur constante exacte
- **minimum / maximum**: Définit les contraintes de plage numérique
- **exclusiveMinimum / exclusiveMaximum**: Bornes numériques exclusives
- **multipleOf**: Exige que les valeurs soient des multiples d'un nombre
- **minLength / maxLength**: Définit les contraintes de longueur de chaîne
- **pattern**: Valide les chaînes contre les modèles regex
- **format**: Valide les formats intégrés (email, uri, etc.)
- **allOf**: Les données doivent correspondre à tous les sous-schémas
- **anyOf**: Les données doivent correspondre à au moins un sous-schéma
- **oneOf**: Les données doivent correspondre à exactement un sous-schéma
- **$ref**: Référence un autre schéma (support de base)

## Exemple d'utilisation

### Validation d'objet de base

**Données JSON:**
```json
{
  "nom": "Jean",
  "âge": 30,
  "email": "jean@exemple.com"
}
```

**JSON Schema:**
```json
{
  "type": "object",
  "properties": {
    "nom": { "type": "string", "minLength": 1 },
    "âge": { "type": "integer", "minimum": 0, "maximum": 150 },
    "email": { "type": "string", "format": "email" }
  },
  "required": ["nom", "âge"]
}
```

## Versions de JSON Schema prises en charge

- draft-04
- draft-06
- draft-07
- 2019-09
- 2020-12

## Entrées

- **Données JSON** (textarea): Entrez les données JSON à valider (ex: {"name": "Jean", "age": 30})...
- **JSON Schema** (textarea): Entrez JSON Schema (ex: {"type": "object", "properties": {...}})...

## Quand l'utiliser

- Avant d'envoyer une charge utile JSON à une API pour s'assurer qu'elle respecte le contrat d'interface attendu.
- Lors de la mise en place ou de la modification de fichiers de configuration complexes pour éviter les erreurs de syntaxe ou de type.
- Pour tester et déboguer la structure de schémas JSON (draft-04 à 2020-12) en cours de développement.

## Fonctionnement

- Collez vos données JSON brutes dans le champ dédié aux données.
- Saisissez ou collez le JSON Schema de référence définissant les règles de validation dans le champ du schéma.
- L'outil analyse la structure et affiche instantanément si le document est valide ou liste les erreurs de conformité détectées.

## Cas d'usage

- Validation de payloads d'API REST pour s'assurer de la présence des champs obligatoires avant intégration.
- Vérification de fichiers de configuration d'applications par rapport à un schéma strict.
- Test unitaire rapide de structures de données complexes lors du développement de logiciels.

## Questions fréquentes

### Quelles versions de JSON Schema sont prises en charge ?

L'outil prend en charge les versions Draft-04, Draft-06, Draft-07, 2019-09 et 2020-12.

### Que se passe-t-il si mes données JSON contiennent des propriétés supplémentaires non définies ?

Si le schéma définit 'additionalProperties: false', la validation échouera en signalant ces propriétés. Sinon, elles seront acceptées.

### Puis-je valider des formats spécifiques comme les adresses e-mail ou les URI ?

Oui, le validateur prend en charge le mot-clé 'format' pour valider les e-mails, les URI, les adresses IP et d'autres formats intégrés.

### Comment l'outil gère-t-il les références externes ($ref) ?

L'outil offre un support de base pour résoudre les références internes et externes définies dans le schéma.

### Mes données JSON sont-elles envoyées à un serveur tiers ?

Non, la validation s'effectue localement dans votre navigateur pour garantir la confidentialité de vos données.

## Outils associés

- [ID Card Validator](https://elysiatools.com/fr/tools/id-card-validator): Validate and analyze ID card numbers from various countries with detailed breakdown (JSON output)
- [Convertisseur BSON](https://elysiatools.com/fr/tools/bson-converter): Encode et décode les données vers/depuis le format BSON (Binary JSON)
- [CSON vers JSON](https://elysiatools.com/fr/tools/cson-to-json): Convertit les données CSON (CoffeeScript Object Notation) au format JSON
- [Suppresseur de Caractères BOM](https://elysiatools.com/fr/tools/data-bom-remover): Supprimer les caractères BOM (Byte Order Mark) du contenu textuel et des fichiers. Parfait pour nettoyer les fichiers texte avec des problèmes d'encodage.
- [EDN vers JSON](https://elysiatools.com/fr/tools/edn-to-json): Convertit les données EDN (Extensible Data Notation) au format JSON
- [GraphQL vers JSON](https://elysiatools.com/fr/tools/graphql-to-json): Convertit les requêtes ou réponses GraphQL au format JSON
- [Formateur JSON](https://elysiatools.com/fr/tools/json-formatter): Formate et valide les données JSON
- [JSON vers CSON](https://elysiatools.com/fr/tools/json-to-cson): Convertit les données JSON au format CSON (CoffeeScript Object Notation)

## Exemples

- [Exemples JSON](https://elysiatools.com/fr/samples/json): Exemples de format JSON (JavaScript Object Notation) de structures simples à complexes
- [Exemples JSON de Terraform Plan](https://elysiatools.com/fr/samples/terraform-plan-json-samples): Fichiers Terraform plan JSON pour visualiser les dependances et revoir les changements, proches de terraform show -json
- [Exemples JSON de Chat](https://elysiatools.com/fr/samples/chat-transcript-json): Exemples JSON pour transcriptions de chat multi-rôles
- [Exemples JSON de Texte Riche](https://elysiatools.com/fr/samples/rich-media-json): Exemples JSON pour éditeurs de texte riche (TipTap, Quill, Slate)

## Contenu associé

- [Définition de contrats API, validation de schémas et tests de changements](https://elysiatools.com/fr/hubs/api-contract-testing): Définissez un contrat API, validez schémas et charges capturées, détectez les risques de compatibilité et consignez l'acceptation.
- [Outils de validation JSON Schema et de contrats API](https://elysiatools.com/fr/hubs/json-validate): Comparez la validation JSON Schema, les contrôles de réponse OpenAPI, les tests de mutation, les tests de charge contractuels et la détection de changements cassants dans un hub unique.
- [Outils JSON d'inspection, d'utilite et de transformation](https://elysiatools.com/fr/hubs/json-utility): Formatez, inspectez, comparez, fusionnez, transformez, validez, analysez et marquez des charges JSON pour les API et donnees.
