Aller au contenu
jsonbeautifiers
Français
Python Vérifié en exécutant l’analyseur sur CPython 3.14.3.

Expecting ',' delimiter: line L column C (char N)

L’analyseur attendait que le conteneur courant se poursuive par une virgule. Le déroutant, c’est que la position désigne souvent un endroit qui semble parfaitement correct, parce que la vraie faute se trouve un peu avant : le plus souvent un guillemet qui a terminé la chaîne plus tôt que prévu.

Collez votre JSON et voyez exactement où il casse

Entrée

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.

  1. 01 Un guillemet double non échappé dans une chaîne

    Le guillemet intérieur ferme la chaîne trop tôt, si bien que le texte suivant est lu comme un nouveau jeton là où une virgule était attendue. La question la plus votée de Stack Overflow sur cette erreur s’intitule littéralement « Valid JSON giving JSONDecodeError », ce qui résume toute l’expérience en une ligne.

    Casse

    {"quote": "he said "yes" loudly"}

    Fonctionne

    {"quote": "he said \"yes\" loudly"}
  2. 02 Une virgule réellement manquante

    Entre deux membres d’un objet ou deux éléments d’un tableau.

  3. 03 Un antislash isolé avant le guillemet fermant

    Un chemin Windows se terminant par un antislash échappe le guillemet : la chaîne se poursuit et la virgule suivante n’arrive jamais là où l’analyseur l’attend.

  4. 04 Le fichier est tronqué

    Si la position est la fin de l’entrée, le document a été coupé plutôt que mal écrit.

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.

JavaScript (V8) Expected ',' or '}' after property value in JSON at position N

Questions fréquentes

Le JSON me paraît correct. Pourquoi échoue-t-il ?
Regardez le caractère qui précède immédiatement la position signalée, pas la position elle-même. Une chaîne terminée trop tôt est invisible tant que vous n’avez pas compté les guillemets. Coller le document dans un validateur qui colore les chaînes rend la chose évidente en une seconde.
Comment éviter que cela se reproduise ?
Ne construisez jamais du JSON par concaténation de chaînes. Construisez un dict et appelez json.dumps, qui échappe correctement chaque valeur par construction.

Corrigez-le maintenant

Collez le payload dans l’outil ci-dessus, ou allez directement à celui conçu pour ce travail.

Mettre les chaînes en évidence