Expected double-quoted property name in JSON at position N (line L column C)
L’analyseur a lu une virgule à l’intérieur d’un objet, puis attendait un autre nom de propriété, mais a trouvé l’accolade fermante. Autrement dit : il y a une virgule sans rien derrière. Le message décrit ce que l’analyseur voulait plutôt que ce que vous avez fait de travers, et c’est pourquoi la correction ne saute pas aux yeux à la lecture.
Vous pouvez aussi le voir écrit ainsi
- trailing comma json error
- trailing comma not allowed in json
V8 a réécrit la plupart de ses messages d’erreur JSON en 2022. L’ancienne formulation reste ce que montrent la plupart des résultats de recherche, mais aucun runtime actuel ne l’émet.
Collez votre JSON et voyez exactement où il casse
Rien de ce que vous collez ne quitte votre navigateur. La liste d’autorisation connect-src en fait une garantie du navigateur plutôt qu’une promesse. Vérifiez-le vous-même
Ce qui le provoque réellement
Classés selon la fréquence à laquelle chacun se révèle être la réponse.
-
01 Une virgule finale avant l’accolade fermante
Légale en JavaScript, en JSON5 et en JSONC. Pas légale en JSON. Les éditeurs qui reformatent automatiquement les objets JavaScript en ajoutent sans prévenir.
Casse
{ "name": "Priya", "role": "admin", }Fonctionne
{ "name": "Priya", "role": "admin" } -
02 Deux virgules à la suite
Généralement oubliées après la suppression d’une propriété.
Casse
{ "a": 1,, "b": 2 }Fonctionne
{ "a": 1, "b": 2 } -
03 Un commentaire là où devrait se trouver un nom de propriété
JSON n’a pas de commentaires. Une ligne // ou un bloc /* */ dans un objet produit exactement ce message, parce que l’analyseur attendait une clé entre guillemets et a trouvé une barre oblique.
La même erreur dans d’autres environnements
Le problème de fond est identique ; seule la formulation change. Si un collègue signale l’un de ces messages, il regarde exactement la même chose que vous.
| V8, trailing comma in an ARRAY | Unexpected token ']', "[1,2,]" is not valid JSON |
|---|---|
| Python 3.13 and later | Illegal trailing comma before end of object: line 1 column 7 (char 6) |
| Python 3.12 and earlier | Expecting property name enclosed in double quotes: line 1 column 7 (char 6) |
Questions fréquentes
- Pourquoi le message est-il différent pour les tableaux ?
- Parce que l’analyseur est dans un autre état. Dans un objet il attend une clé entre guillemets, et il le dit. Dans un tableau il attend une valeur et trouve le crochet fermant, ce qui donne Unexpected token ']', "[1,2,]" is not valid JSON. Même erreur, deux messages totalement différents.
- Python donnait autrefois une autre erreur pour cela. Cela a-t-il changé ?
- Oui. Python 3.13 a ajouté des messages dédiés : « Illegal trailing comma before end of object » et son équivalent pour les tableaux. En 3.12 et antérieur, la même entrée donne « Expecting property name enclosed in double quotes ». Tout guide qui ne distingue pas les versions se trompe pour la moitié de ses lecteurs.
- Mon fichier de configuration a besoin de commentaires et de virgules finales. Quelles options ?
- Utilisez JSONC, que VS Code emploie pour ses propres réglages et qui autorise commentaires et virgules finales, ou JSON5, qui autorise nettement plus. Les deux exigent un analyseur qui les prenne en charge. Notre outil de réparation reconvertit l’un comme l’autre en JSON strict.
Corrigez-le maintenant
Collez le payload dans l’outil ci-dessus, ou allez directement à celui conçu pour ce travail.
La retirer automatiquement