Erreurs JSON Courantes et Comment les Corriger
Le JSON est strict. Voici les erreurs qui posent le plus souvent problème — chacune avec un exemple invalide et la correction appropriée.
JSON (JavaScript Object Notation) est délibérément minimaliste, mais ce minimalisme s'accompagne de règles strictes. Contrairement aux littéraux d'objets JavaScript — que les parseurs traitent avec souplesse — le JSON suit le RFC 8259 exactement, sans tolérance pour les raccourcis JavaScript courants. En conséquence, le JSON copié ou généré depuis du code JavaScript contient souvent des erreurs qu'un parseur JSON rejettera.
Utilisez le Validateur JSON pour localiser rapidement toute erreur — il indique la ligne et la colonne exactes du problème.
Erreur 1 : Virgule finale (trailing comma)
Une virgule finale apparaît après le dernier élément d'un tableau ou la dernière paire clé-valeur d'un objet. C'est autorisé en JavaScript mais interdit en JSON.
// JSON invalide — virgule finale après "editeur"
{
"roles": ["admin", "editeur",]
}
// JSON valide
{
"roles": ["admin", "editeur"]
}
Erreur 2 : Guillemets simples au lieu de doubles
Le JSON exige des guillemets doubles pour toutes les clés et valeurs de chaîne. Les guillemets simples sont valides en JavaScript mais invalides en JSON.
// JSON invalide
{'nom': 'Alice', 'ville': 'Paris'}
// JSON valide
{"nom": "Alice", "ville": "Paris"}
Erreur 3 : Clés sans guillemets
En JavaScript, les clés d'objet n'ont pas besoin de guillemets si elles sont des identifiants valides. En JSON, chaque clé doit être une chaîne entre guillemets doubles.
// JSON invalide
{nom: "Alice", age: 30}
// JSON valide
{"nom": "Alice", "age": 30}
Erreur 4 : Commentaires
Le JSON ne prend pas en charge les commentaires. Ni // ligne unique ni /* bloc */ ne sont valides.
// JSON invalide — commentaires non autorisés
{
// Configuration du serveur
"hote": "localhost",
"port": 8080 /* port par défaut */
}
// JSON valide
{
"hote": "localhost",
"port": 8080
}
Si vous avez besoin de commentaires dans des fichiers de configuration, utilisez JSONC (supporté par VS Code) ou JSON5.
Erreur 5 : Valeurs invalides (undefined, NaN, Infinity)
Le JSON prend en charge exactement six types de valeurs : string, number, object, array, true, false et null. Les valeurs spécifiques à JavaScript ne sont pas autorisées.
// JSON invalide
{"score": NaN, "ratio": Infinity, "valeur": undefined}
// JSON valide
{"score": null, "ratio": null, "valeur": null}
Erreur 6 : Crochets et accolades non appariés
Chaque { doit avoir un } correspondant, et chaque [ doit avoir un ]. Si le validateur pointe vers la fin du fichier avec une erreur « fin d'entrée inattendue », un crochet de fermeture manquant est la cause la plus probable. Collez le JSON dans le Formateur JSON pour rendre la structure visible.
Erreur 7 : Caractères spéciaux sans échappement
Certains caractères à l'intérieur d'une chaîne JSON doivent être échappés avec une barre oblique inverse. Les guillemets doubles (\"), la barre oblique inverse (\\), et les caractères de contrôle (nouvelle ligne \n, tabulation \t) doivent tous être échappés.
// JSON invalide — barre oblique inverse sans échappement
{"chemin": "C:\Users\Alice"}
// JSON valide
{"chemin": "C:\\Users\\Alice"}
Validez votre JSON — gratuit
Collez votre JSON et obtenez la ligne et la colonne exactes de l'erreur instantanément. Sans inscription.
Ouvrir le Validateur JSON →Foire aux questions
Pourquoi mon JSON a-t-il une erreur de virgule finale ?
Le JSON standard (RFC 8259) n'autorise pas les virgules finales après le dernier élément d'un tableau ou d'un objet. Supprimez la virgule après le dernier élément. Pour les fichiers de configuration, envisagez JSON5 ou JSONC.
Le JSON peut-il utiliser des guillemets simples ?
Non. Le JSON exige des guillemets doubles pour toutes les clés et valeurs de chaîne. Les guillemets simples sont valides dans les objets JavaScript mais ne sont pas autorisés en JSON.
Le JSON peut-il avoir des commentaires ?
Non. Les commentaires ne font pas partie de la spécification JSON (RFC 8259). Si vous avez besoin de commentaires dans des fichiers de configuration, utilisez JSON5 ou JSONC, qui autorisent les commentaires // et /* */.
Quelles valeurs sont autorisées en JSON ?
Le JSON autorise six types de valeurs : string (entre guillemets doubles), number (décimal, sans hex ni zéros initiaux), boolean (true ou false, en minuscules), null, object et array. Les valeurs JavaScript comme undefined, NaN et Infinity ne sont pas du JSON valide.