Corriger l’erreur de parse JSON : Expected Property Name

Cette erreur signifie généralement que le parser a rencontré une clé d’objet qui n’est pas du JSON valide : clé sans guillemets, commentaire, virgule finale ou syntaxe JavaScript dans du JSON strict.

Ce que signifie l’erreur

Les membres d’un objet JSON doivent toujours commencer par un nom de propriété entre guillemets doubles. Quand un parser dit expected property name ou expected property name or '}', il se trouve en général juste après une accolade ouvrante ou une virgule et attend une clé comme "name". S’il voit name, // commentaire, /* commentaire */, ou une accolade fermante après une virgule finale, il s’arrête, parce que ces patterns appartiennent à JavaScript et pas au JSON strict.

Causes les plus courantes

La meilleure façon de déboguer cette erreur est d’inspecter le caractère à la ligne et colonne signalées, puis le token précédent. La plupart des cas viennent de l’un de ces quatre petits soucis.

  • Clés d’objet sans guillemets, par ex. { name: "Ada" }
  • Clés ou chaînes avec guillemets simples, par ex. { 'name': 'Ada' }
  • Commentaires copiés depuis du JavaScript ou du JSONC
  • Une virgule finale avant } ou ]

Exemple cassé

{ name: 'Ada', active: true, // copied from a JS object }

JSON corrigé

{ "name": "Ada", "active": true }

Checklist de réparation

Mettez chaque clé entre guillemets doubles, convertissez les chaînes en guillemets doubles, supprimez les commentaires, retirez les virgules finales et assurez-vous que les booléens et null sont en minuscules. Après réparation, lancez une validation stricte avant de stocker la valeur dans un fichier de configuration, de l’envoyer à une API ou de la coller dans une migration de base.

Quand la réparation automatique est sûre

La réparation automatique est sûre pour un nettoyage syntaxique quand l’intention est claire. Ne la prenez pas pour une validation métier. Si un nom de clé, un nombre, une date ou un enum peut être ambigu, réparez d’abord la syntaxe puis comparez la sortie au système source ou au schéma d’API.