← Retour au Blog

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 Team11 min de lecturetroubleshooting
B

Big JSON Team

Technical Writer

Expert in JSON data manipulation, API development, and web technologies. Passionate about creating tools that make developers' lives easier.

11 min de lecture

# 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 :
  • Virgule finale
  • Guillemets simples
  • Clés sans guillemets
  • Commentaires
  • Caractères non échappés
  • Pour éviter les erreurs :
    • Utiliser un éditeur avec validation
    • Formater automatiquement
    • Valider avant utilisation
    • Tester régulièrement

    Avec ces connaissances, vous corrigerez rapidement toute erreur JSON !

    Share:

    Articles Connexes

    Read in English