Documentation développeur
Java
Mis à jour le 19 septembre 2026

Valider du JSON en Java

Validez la syntaxe JSON et gérez les erreurs du parseur sans modifier l’entrée en Java.

La validation syntaxique répond à une question : l’entrée peut-elle être analysée comme du JSON ? Elle est différente de JSON Schema, qui contrôle la structure et les contraintes de données JSON déjà valides.

Démarrage rapide#

L’exemple suivant utilise l’API standard de Java ou une bibliothèque couramment utilisée pour cette tâche.

Exemple#

Java
1ObjectMapper mapper = new ObjectMapper();2try {3    JsonNode value = mapper.readTree(input);4    System.out.println("Valid JSON");5} catch (JsonProcessingException ex) {6    JsonLocation loc = ex.getLocation();7    System.out.printf("Invalid near line %d, column %d%n", loc.getLineNr(), loc.getColumnNr());8}

Opérations courantes#

Ce second exemple couvre une opération fréquente en production ou une manière plus sûre de traiter des entrées réelles.

Variante courante#

Java
1JsonNode value = mapper.readTree(input);2if (!value.isObject()) {3    throw new IllegalArgumentException("Expected a JSON object");4}5if (!value.hasNonNull("name") || !value.get("name").isTextual()) {6    throw new IllegalArgumentException("name must be a string");7}

Points importants#

Distinguez validation syntaxique et validation de schéma : un document peut être du JSON valide tout en ne respectant pas la structure attendue par l’application.

Bonnes pratiques#

  1. Considérez toute entrée externe comme non fiable et gérez explicitement les erreurs d’analyse ou de validation.
  2. Rendez explicites l’encodage, les unités, les formats et les conventions propres aux bibliothèques aux frontières du système.
  3. Ajoutez des tests couvrant l’entrée vide, le texte Unicode, les entrées invalides et des données représentatives de la production.

Références#

Implémenter JSON Validator dans d'autres langages :