Erreurs JSON courantes : Guide de débogage et solutions
Identifiez et corrigez les erreurs JSON les plus fréquentes. Guide complet avec exemples, messages d'erreur et solutions pour un JSON valide.
Big JSON Team
• Technical WriterExpert in JSON data manipulation, API development, and web technologies. Passionate about creating tools that make developers' lives easier.
# Erreurs JSON courantes : Guide de débogage et solutions
Les erreurs JSON peuvent être frustrantes. Ce guide identifie les erreurs les plus courantes et comment les corriger rapidement.
1. Virgule finale (Trailing Comma)
❌ Incorrect
{
"nom": "Jean",
"age": 30,
}
Erreur : Unexpected token } in JSON at position X
✅ Correct
{
"nom": "Jean",
"age": 30
}
Solution : Supprimer la virgule après la dernière propriété.
2. Guillemets simples
❌ Incorrect
{
'nom': 'Jean',
'age': 30
}
Erreur : Unexpected token ' in JSON
✅ Correct
{
"nom": "Jean",
"age": 30
}
Solution : Utiliser toujours des guillemets doubles (").
3. Clés sans guillemets
❌ Incorrect
{
nom: "Jean",
age: 30
}
Erreur : Unexpected token n in JSON
✅ Correct
{
"nom": "Jean",
"age": 30
}
Solution : Toutes les clés doivent être entre guillemets doubles.
4. Commentaires
❌ Incorrect
{
// Ceci est un commentaire
"nom": "Jean",
/ Multi-ligne
commentaire /
"age": 30
}
Erreur : Unexpected token / in JSON
✅ Correct
{
"_comment": "Utilisez un champ pour les commentaires",
"nom": "Jean",
"age": 30
}
Solution : JSON ne supporte pas les commentaires. Utilisez un champ spécial.
5. Valeurs non échappées
❌ Incorrect
{
"message": "Il a dit "Bonjour"",
"chemin": "C:\Users\Jean"
}
Erreur : Unexpected token B in JSON
✅ Correct
{
"message": "Il a dit \\"Bonjour\\"",
"chemin": "C:\\\\Users\\\\Jean"
}
Solution : Échapper les caractères spéciaux :
"→\\"\\→\\\\\n→ nouvelle ligne\t→ tabulation
6. NaN et Infinity
❌ Incorrect
{
"resultat": NaN,
"max": Infinity,
"min": -Infinity
}
Erreur : Unexpected token N in JSON
✅ Correct
{
"resultat": null,
"max": 1.7976931348623157e+308,
"min": -1.7976931348623157e+308
}
Solution : Utiliser null ou nombres valides.
7. Undefined
❌ Incorrect
{
"nom": "Jean",
"age": undefined
}
Erreur : Unexpected token u in JSON
✅ Correct
{
"nom": "Jean",
"age": null
}
Solution : Utiliser null ou omettre la propriété.
8. Fonctions
❌ Incorrect
{
"nom": "Jean",
"saluer": function() {
return "Bonjour";
}
}
Erreur : Unexpected token f in JSON
✅ Correct
JSON ne peut pas contenir de fonctions. Utilisez des chaînes si nécessaire :
{
"nom": "Jean",
"messageAccueil": "Bonjour"
}
9. Virgule manquante
❌ Incorrect
{
"nom": "Jean"
"age": 30
}
Erreur : Unexpected token " in JSON
✅ Correct
{
"nom": "Jean",
"age": 30
}
Solution : Ajouter la virgule entre les propriétés.
10. Accolades/Crochets mal appariés
❌ Incorrect
{
"utilisateurs": [
{"nom": "Alice"},
{"nom": "Bob"
]
}
Erreur : Unexpected token ] in JSON
✅ Correct
{
"utilisateurs": [
{"nom": "Alice"},
{"nom": "Bob"}
]
}
Solution : Vérifier que toutes les accolades/crochets sont fermés.
Outils de débogage
1. JSONLint
# En ligne: jsonlint.com
# CLI
npm install -g jsonlint
jsonlint fichier.json
2. jq
jq . fichier.json
# Si erreur, affiche ligne exacte
3. Python
import json
try:
with open('fichier.json') as f:
data = json.load(f)
except json.JSONDecodeError as e:
print(f"Erreur ligne {e.lineno}, colonne {e.colno}")
print(f"Message: {e.msg}")
4. JavaScript
try {
JSON.parse(jsonString);
} catch (error) {
console.error("Erreur JSON:", error.message);
console.error("Position:", error.message.match(/position (\d+)/));
}
Bonnes pratiques
1. Valider toujours
function parseJSONSafe(str) {
try {
return JSON.parse(str);
} catch (e) {
console.error("JSON invalide:", e);
return null;
}
}
2. Formater régulièrement
Utilisez un formateur automatique dans votre éditeur.
3. Utiliser linter
Configurez ESLint ou équivalent pour détecter erreurs.
4. Tests automatisés
describe('Configuration JSON', () => {
it('doit être JSON valide', () => {
const config = require('./config.json');
expect(config).toBeDefined();
});
});
Messages d'erreur courants
"Unexpected token"
Cause : Syntaxe JSON invalide Solution : Vérifier guillemets, virgules, accolades"Unexpected end of JSON input"
Cause : JSON incomplet ou tronqué Solution : Vérifier que le fichier est complet"Invalid escape character"
Cause : Backslash non échappé Solution : Doubler les backslashes:\\\\
Checklist de validation
- [ ] Guillemets doubles partout
- [ ] Pas de virgule finale
- [ ] Toutes les clés entre guillemets
- [ ] Pas de commentaires
- [ ] Caractères spéciaux échappés
- [ ] Accolades/crochets équilibrés
- [ ] Pas de NaN/Infinity/undefined
- [ ] Pas de fonctions
- [ ] Encodage UTF-8
Conclusion
Erreurs les plus fréquentes :- Utiliser un éditeur avec validation
- Formater automatiquement
- Valider avant utilisation
- Tester régulièrement
Avec ces connaissances, vous corrigerez rapidement toute erreur JSON !
Articles Connexes
Qu'est-ce que JSON ? Définition et bases
Apprenez la définition, l'histoire et la structure de JSON. Guide complet pour débutants, types de données, règles de syntaxe, exemples pratiques.
Comment formater JSON : Guide complet avec outils et techniques
Maîtrisez le formatage JSON avec des techniques, outils et bonnes pratiques. Apprenez l'indentation, la validation et la beautification de vos données JSON.
Comprendre JSON Schema : Validation et documentation des données
Maîtrisez JSON Schema pour valider vos données JSON. Guide complet avec exemples pratiques, types, validations et outils pour créer des schémas robustes.