Corriger les virgules finales en JSON
Une virgule finale après la dernière propriété d’un objet ou le dernier élément d’un tableau est valide dans certains contextes JavaScript, mais pas en JSON.
Pourquoi l’erreur survient
Les littéraux d’objet JavaScript autorisent souvent une virgule finale, mais JSON exige que le dernier élément soit suivi directement du crochet ou de l’accolade de fermeture.
Exemple cassé
{ "name": "Ada", "active": true, }
JSON corrigé
{ "name": "Ada", "active": true }
D’où viennent les virgules finales
Le plus souvent : édition à la main d’une configuration, commentaire du dernier élément, ou copie depuis du JavaScript/TypeScript. Les moteurs de templates et les générateurs de code en produisent aussi lorsqu’une boucle ajoute une virgule après chaque élément sans suivre le dernier index.
Pourquoi certains parsers les acceptent mais pas JSON
Les littéraux d’objet JavaScript, JSON5, JSONC, YAML et la plupart des syntaxes de littéraux dans d’autres langages acceptent la virgule finale parce qu’elle rend les diffs plus propres. Le JSON RFC 8259 ne l’accepte délibérément pas — JSON.parse, le package encoding/json de Go ou le module json de Python la rejettent.
Détecter les virgules finales avant la production
Lintez les fichiers de configuration en CI avec un parser JSON strict (jq, python -m json.tool ou node -e 'JSON.parse(...)'). Pour les dépôts TypeScript, configurez "trailingComma": "none" dans Prettier pour les .json afin que le formateur n’en ajoute pas.
Quand la virgule finale n’est pas le vrai bug
Si un payload vient d’une API ou d’une librairie qui produit du JSON et contient une virgule finale, le problème est la sérialisation en amont, pas le consommateur. Corriger la virgule localement masque un bug du producteur qui reviendra au prochain appel — réparez le producteur.
FAQ
Q : JSON.parse acceptera-t-il un jour les virgules finales ? R : Non — le mode strict est la norme. Q : JSON5 est-il un substitut sûr ? R : Seulement pour des configurations éditées à la main ; jamais pour des protocoles réseau. Q : L’outil d’auto-réparation peut-il ne supprimer que les virgules finales ? R : Oui, collez le JSON et il les retire avec d’autres erreurs de syntaxe courantes.
Guides de réparation JSON
Pôles thématiques
- JSON Parse Errors: Read the Message, Jump to the Fix
- Fix Invalid JSON: From 'What's Wrong' to a Clean File
- JSON Formatter, Validator, Viewer: Pick the Right Tool
- Repair LLM JSON Output: Handling Almost-JSON from AI
- Privacy: JSON Tools That Don't Leave Your Browser
- JSON Interop: YAML, CSV, XML, JWT, Schema
Guides spécifiques
- Comment décoder des chaînes Base64 (et des payloads JWT)
- Encodage URL : encodez les paramètres de requête et les chemins
- Convertir YAML en JSON (et éviter les erreurs d’indentation)
- Convertir JSON en CSV : aplatir un tableau d’objets
- Convertir JSON en XML : racine, attributs et tableaux
- Échapper du JSON comme littéral de chaîne (et décoder du JSON doublement encodé)
- Corriger les guillemets simples en JSON
- Corriger les clés sans guillemets en JSON
- Réparer le JSON produit par un LLM
- Corriger l’erreur de parse JSON : Expected Property Name
- JSON vs littéral d’objet JavaScript
- Validez le JSON avant les requêtes API
- Formateur JSON vs JSON Repair
- Corriger les erreurs JSON Unexpected Token
- Convertisseur JSON vers objet JavaScript