Unexpected non-whitespace character after JSON at position N (line L column C)
Ein JSON-Dokument enthält genau einen Wert auf oberster Ebene. Der Parser hat einen vollständigen gelesen und danach noch etwas gefunden. Die gemeldete Position ist die Stelle, an der der überschüssige Inhalt beginnt - meist der Anfang des zweiten Datensatzes.
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 Die Eingabe ist NDJSON oder JSON Lines
Ein vollständiger JSON-Wert pro Zeile, ohne Kommas und ohne umschließendes Array. Dieses Format nutzen Log-Pipelines, BigQuery-Exporte, Elasticsearch-Bulk-Operationen und streamende LLM-APIs. Es ist kein kaputtes JSON, sondern ein anderes Format, das zeilenweise gelesen werden muss.
Geht kaputt
{"event":"login"} {"event":"logout"}Funktioniert
const records = text .split('\n') .filter((line) => line.trim()) .map((line) => JSON.parse(line)); -
02 Zwei Antworten wurden aneinandergehängt
Ein Wiederholungsversuch, der angehängt statt ersetzt hat, oder ein Stream-Lesevorgang, der zwei Blöcke ohne Trennung zusammengefügt hat.
-
03 Debug-Ausgabe wurde an den Körper angehängt
Ein vergessenes print, eine ausgegebene Warnung oder Profiling-Ausgabe, die nach dem JSON geschrieben wurde. Das Dokument parst einwandfrei bis genau zu der Stelle, an der der zusätzliche Text beginnt - genau dorthin zeigt die Position.
-
04 Der Wert ist doppelt kodiert
Eine JSON-Zeichenkette, die JSON enthält, einmal zu wenig oder einmal zu oft ausgepackt. Unser Unescape-Werkzeug erkennt, wie viele Kodierungsschichten ein Wert trägt.
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.
| Python | Extra data: line 2 column 1 (char 8) |
|---|---|
| Firefox | JSON.parse: unexpected non-whitespace character after JSON data |
Häufige Fragen
- Woran erkenne ich, ob meine Datei NDJSON ist?
- Jede nicht leere Zeile parst für sich allein als vollständiges JSON, zwischen den Datensätzen stehen keine Kommas, und es gibt kein umschließendes [ ]. Fügen Sie sie in unseren Validator ein: Er sagt es Ihnen und bietet an, die Datensätze in ein Array zu packen.
- Kann ich nicht einfach Klammern drumherum setzen und Kommas ergänzen?
- Doch, und bei einer kleinen Datei ist das die schnellste Lösung. Bei einer großen braucht das zeilenweise Lesen weit weniger Speicher - und genau deshalb gibt es das Format.
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.
NDJSON in JSON umwandeln