Validation JSON : Comment valider et réparer les données JSON
JSON (JavaScript Object Notation) est le format d'échange de données le plus utilisé sur le Web. Des réponses API aux fichiers de configuration, JSON est partout. Mais JSON est strict concernant sa syntaxe — une seule virgule mal placée ou un guillemet manquant peut faire planter un analyseur entier. Ce guide couvre tout ce que vous devez savoir sur la validation JSON, les erreurs courantes et comment les corriger.
Pourquoi la validation JSON est importante
Un JSON invalide peut causer divers problèmes :
- Échecs API : Un serveur renvoyant un JSON invalide fera planter les analyseurs côté client et cassera les applications.
- Erreurs de configuration : Un JSON cassé dans les fichiers de configuration (comme
package.json,composer.jsonoutsconfig.json) peut empêcher les outils de fonctionner. - Corruption de données : L'importation ou l'exportation de données avec des erreurs JSON peut entraîner une perte silencieuse de données.
- Casse-tête de débogage : Tracer un JSON invalide dans de grands fichiers sans outils appropriés prend du temps et est sujet aux erreurs.
Valider JSON avant de l'utiliser en production fait gagner du temps et évite les bogues. Un bon validateur vérifie non seulement la syntaxe mais aussi la cohérence structurelle.
Qu'est-ce qui rend JSON valide ou invalide ?
La syntaxe JSON suit des règles strictes. Voici les exigences de validation les plus courantes :
Règles JSON valides
- Les chaînes doivent être entre guillemets doubles (les guillemets simples ne sont pas autorisés).
- Les clés doivent être des chaînes entre guillemets doubles (les identifiants non guillemetés sont invalides).
- Les nombres peuvent être des entiers ou des décimaux, mais les zéros non significatifs ne sont pas autorisés (par exemple,
01est invalide). - Les valeurs booléennes doivent être en minuscules :
true,false. - Les valeurs nulles doivent être en minuscules :
null. - Aucune virgule finale n'est autorisée dans les objets ou les tableaux.
- Les commentaires ne sont pas autorisés dans le JSON standard.
Exemple de JSON valide
{
"name": "Alice",
"age": 30,
"isActive": true,
"roles": ["admin", "editor"],
"address": {
"city": "New York",
"zip": "10001"
}
}
Exemple de JSON invalide
{
name: "Alice", // Guillemets manquants autour de la clé
'age': 30, // Guillemets simples au lieu de doubles
"isActive": true, // Virgule finale
"roles": ["admin"],, // Virgule double
"note": undefined // undefined n'est pas un JSON valide
}
Erreurs JSON courantes
| Erreur | Exemple | Correction |
|---|---|---|
| Virgule finale | [1, 2,] |
Supprimer la virgule après le dernier élément : [1, 2] |
| Guillemets simples | {'key': 'value'} |
Utiliser des guillemets doubles : {"key": "value"} |
| Guillemets manquants sur les clés | {key: "value"} |
Ajouter des guillemets : {"key": "value"} |
| Caractères de contrôle non échappés | "ligne\nsaut" non échappé |
Échapper comme "ligne\\nsaut" |
| Commentaires | // ceci est un commentaire |
Supprimer tous les commentaires avant l'analyse |
| Texte après la fin | [1, 2]supplément |
Supprimer le texte après le crochet fermant |
| Crochet fermant manquant | {"key": "value" |
Ajouter le } fermant |
| Crochet fermant supplémentaire | {"key": "value"}} |
Supprimer le } supplémentaire |
| Format de nombre invalide | 01, 1., .5 |
Utiliser des nombres valides : 1, 1.0, 0.5 |
| Objets JSON multiples | {"a":1}{"b":2} |
Encapsuler dans un tableau : [{"a":1},{"b":2}] |
Comment valider JSON
Validateur JSON en ligne
Le moyen le plus simple de valider JSON est d'utiliser un outil en ligne. L'outil JSON Validator & Repair sur Help2Code vérifie votre syntaxe JSON en temps réel et fournit des messages d'erreur détaillés qui pointent directement vers l'emplacement du problème.
Fonctionnalités incluent :
- Validation en temps réel pendant la frappe
- Numéros de ligne et de colonne pour chaque erreur
- Descriptions d'erreur compréhensibles
- Suggestions de réparation automatique pour les problèmes courants
- Option de minification ou d'embellissement de la sortie
- Prise en charge de la validation JSON Schema
Valider JSON dans le code
JavaScript (Navigateur / Node.js) :
try {
const data = JSON.parse(jsonString);
console.log('JSON valide :', data);
} catch (error) {
console.error('JSON invalide :', error.message);
}
Python :
import json
def validate_json(data):
try:
json.loads(data)
return True, None
except json.JSONDecodeError as e:
return False, str(e)
is_valid, error = validate_json('{"name": "Alice"}')
print(error if not is_valid else "Valide !")
PHP :
function validateJson($string) {
json_decode($string);
return json_last_error() === JSON_ERROR_NONE;
}
Ligne de commande (jq) :
# Valider un fichier JSON (code de retour 0 si valide)
jq . fichier.json > /dev/null && echo "Valide" || echo "Invalide"
# Afficher l'erreur spécifique
jq . fichier.json 2>&1
Validation JSON Schema
Au-delà de la validation syntaxique, JSON Schema définit la structure et les types de données que votre JSON doit suivre. Un JSON Schema est lui-même un document JSON qui décrit :
- Les champs obligatoires et optionnels
- Les types de données (chaîne, nombre, booléen, tableau, objet, nul)
- Les motifs et formats de chaîne (email, date, URI)
- Les valeurs minimales et maximales pour les nombres
- Les contraintes de longueur des tableaux
Le JSON Schema Validator sur Help2Code vous permet de valider vos données JSON contre un schéma pour garantir l'exactitude structurelle.
Comment réparer un JSON invalide
Certaines erreurs JSON peuvent être automatiquement réparées. Les stratégies de réparation courantes incluent :
- Supprimer les virgules finales : Supprimer les virgules avant les crochets ou accolades fermants.
- Ajouter les guillemets manquants : Guillemeter automatiquement les clés non guillemetées et les chaînes entre guillemets simples.
- Corriger les caractères échappés : Corriger les caractères de contrôle mal échappés.
- Supprimer les commentaires : Supprimer les commentaires de style JavaScript (
//et/* */). - Convertir les guillemets simples en doubles : Remplacer toutes les chaînes entre guillemets simples par des guillemets doubles.
- Supprimer le texte après la fin : Supprimer tout texte après le dernier crochet ou accolade fermant.
L'outil JSON Validator & Repair applique automatiquement ces corrections et affiche le JSON réparé à côté de l'original.
Conclusion
La validation JSON est une compétence essentielle pour tout développeur travaillant avec les technologies Web modernes. La compréhension des règles de syntaxe, des erreurs courantes et des outils disponibles vous aide à détecter et corriger les problèmes rapidement. Utilisez l'outil JSON Validator & Repair pour vérifier instantanément votre JSON.