Zum Inhalt springen
jsonbeautifiers
Deutsch
Python Überprüft durch Ausführen des Parsers auf CPython 3.14.3.

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

Der Parser erwartete, dass der aktuelle Container mit einem Komma weitergeht. Verwirrend ist, dass die Position oft auf eine Stelle zeigt, die völlig in Ordnung aussieht - denn der eigentliche Fehler liegt etwas früher: meist ein Anführungszeichen, das die Zeichenkette früher beendet hat als beabsichtigt.

Fügen Sie Ihr JSON ein und sehen Sie genau, wo es bricht

Eingabe

Nichts, was Sie einfügen, verlässt Ihren Browser. Die connect-src Erlaubnisliste macht daraus eine Garantie des Browsers statt eines Versprechens. Selbst überprüfen

Was es tatsächlich auslöst

Sortiert danach, wie oft sich das jeweilige als die Antwort herausstellt.

  1. 01 Ein nicht escaptes doppeltes Anführungszeichen in einer Zeichenkette

    Das innere Anführungszeichen schließt die Zeichenkette zu früh, sodass der folgende Text als neues Token gelesen wird, wo ein Komma erwartet wurde. Die meistbewertete Stack-Overflow-Frage zu diesem Fehler heißt wörtlich „Valid JSON giving JSONDecodeError“, was die ganze Erfahrung in einer Zeile zusammenfasst.

    Geht kaputt

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

    Funktioniert

    {"quote": "he said \"yes\" loudly"}
  2. 02 Ein tatsächlich fehlendes Komma

    Zwischen zwei Mitgliedern eines Objekts oder zwei Elementen eines Arrays.

  3. 03 Ein einzelner Backslash vor dem schließenden Anführungszeichen

    Ein Windows-Pfad, der auf einen Backslash endet, escapt das Anführungszeichen, sodass die Zeichenkette weiterläuft und das nächste Komma nie dort auftaucht, wo der Parser es erwartet.

  4. 04 Die Datei ist abgeschnitten

    Liegt die Position am Ende der Eingabe, wurde das Dokument gekappt und nicht falsch geschrieben.

Derselbe Fehler in anderen Laufzeitumgebungen

Das zugrunde liegende Problem ist identisch; nur der Wortlaut unterscheidet sich. Meldet eine Kollegin eine dieser Zeilen, sieht sie genau dasselbe wie Sie.

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

Häufige Fragen

Das JSON sieht für mich korrekt aus. Warum schlägt es fehl?
Sehen Sie sich das Zeichen unmittelbar vor der gemeldeten Position an, nicht die Position selbst. Eine zu früh beendete Zeichenkette bleibt unsichtbar, bis man die Anführungszeichen zählt. Das Dokument in einen Validator einzufügen, der Zeichenketten einfärbt, macht es in einer Sekunde offensichtlich.
Wie verhindere ich das?
Bauen Sie JSON nie durch Zeichenkettenverkettung. Bauen Sie ein dict und rufen Sie json.dumps auf, das jeden Wert konstruktionsbedingt korrekt escapt.

Jetzt beheben

Fügen Sie das Payload in das Werkzeug oben ein, oder gehen Sie direkt zu dem, das für diesen Zweck gebaut wurde.

Die Zeichenketten hervorheben