Expected double-quoted property name in JSON at position N (line L column C)
Der Parser las ein Komma innerhalb eines Objekts und erwartete danach einen weiteren Eigenschaftsnamen, fand aber die schließende geschweifte Klammer. Anders gesagt: Da steht ein Komma, hinter dem nichts kommt. Die Meldung beschreibt, was der Parser wollte, statt was Sie falsch gemacht haben - deshalb ergibt sich die Lösung nicht aus dem Wortlaut.
Sie sehen das vielleicht auch so geschrieben
- trailing comma json error
- trailing comma not allowed in json
V8 hat 2022 die meisten seiner JSON-Fehlermeldungen neu formuliert. Die ältere Formulierung ist noch immer das, was die meisten Suchergebnisse zeigen, aber keine aktuelle Laufzeitumgebung gibt sie aus.
Fügen Sie Ihr JSON ein und sehen Sie genau, wo es bricht
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.
-
01 Ein Komma vor der schließenden geschweiften Klammer
In JavaScript, in JSON5 und in JSONC erlaubt. In JSON nicht. Editoren, die JavaScript-Objekte automatisch formatieren, fügen solche Kommas ohne Warnung ein.
Geht kaputt
{ "name": "Priya", "role": "admin", }Funktioniert
{ "name": "Priya", "role": "admin" } -
02 Zwei Kommas hintereinander
Bleiben meist übrig, nachdem eine Eigenschaft gelöscht wurde.
Geht kaputt
{ "a": 1,, "b": 2 }Funktioniert
{ "a": 1, "b": 2 } -
03 Ein Kommentar an der Stelle eines Eigenschaftsnamens
JSON hat keine Kommentare. Eine //-Zeile oder ein /* */-Block innerhalb eines Objekts erzeugt genau diese Meldung, weil der Parser einen quotierten Schlüssel erwartete und einen Schrägstrich fand.
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.
| 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) |
Häufige Fragen
- Warum lautet die Meldung bei Arrays anders?
- Weil sich der Parser in einem anderen Zustand befindet. In einem Objekt wartet er auf einen quotierten Schlüssel und sagt das auch. In einem Array wartet er auf einen Wert und findet die schließende Klammer, was Unexpected token ']', "[1,2,]" is not valid JSON ergibt. Derselbe Fehler, zwei völlig verschiedene Meldungen.
- Python gab dafür früher einen anderen Fehler. Hat sich das geändert?
- Ja. Python 3.13 hat eigene Meldungen ergänzt: „Illegal trailing comma before end of object“ und das Array-Gegenstück. Auf 3.12 und älter liefert dieselbe Eingabe „Expecting property name enclosed in double quotes“. Jede Anleitung, die nicht nach Version unterscheidet, liegt für die Hälfte ihrer Leser falsch.
- Meine Konfigurationsdatei braucht Kommentare und Kommas am Ende. Welche Möglichkeiten habe ich?
- Nehmen Sie JSONC, das VS Code für seine eigenen Einstellungen verwendet und das Kommentare und Kommas am Ende erlaubt, oder JSON5, das erheblich mehr erlaubt. Beides braucht einen Parser, der das unterstützt. Unser Reparaturwerkzeug wandelt beides zurück in striktes JSON.
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.
Automatisch entfernen