Zum Inhalt springen
jsonbeautifiers
Deutsch
V8 Überprüft durch Ausführen des Parsers auf Node v24.15.0, V8 13.6.233.17.

Bad escaped character in JSON at position N (line L column C)

JSON erlaubt genau neun Escape-Sequenzen: \" \\ \/ \b \f \n \r \t und \uXXXX. Alles andere nach einem Backslash ist ein Fehler. Ein einzelner Backslash in einem Windows-Pfad ist fast immer die Ursache, denn \U, \P und \D sind keine Escapes.

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 Windows-Dateipfad mit einfachen Backslashes

    Das ist die häufigste Ursache. Jeder Backslash in einer JSON-Zeichenkette muss verdoppelt werden. Schrägstriche funktionieren unter Windows in den meisten Zusammenhängen ebenfalls und vermeiden das Problem ganz.

    Geht kaputt

    { "path": "C:\Users\priya\config.json" }

    Funktioniert

    { "path": "C:\\Users\\priya\\config.json" }
  2. 02 Ein aus einer anderen Sprache entliehenes Hex-Escape

    JSON hat kein \x-Escape. C, Python und JavaScript akzeptieren alle \x41 für den Buchstaben A; JSON verlangt \u0041.

    Geht kaputt

    { "c": "\x41" }

    Funktioniert

    { "c": "\u0041" }
  3. 03 Ein in eine Zeichenkette eingefügter regulärer Ausdruck

    Muster wie \d, \s und \w sind keine JSON-Escapes. Jeder Backslash im Muster muss verdoppelt werden, bevor er in eine JSON-Zeichenkette wandert.

    Geht kaputt

    { "pattern": "^\d{3}-\d{4}$" }

    Funktioniert

    { "pattern": "^\\d{3}-\\d{4}$" }
  4. 04 Ein Escape für das einfache Anführungszeichen

    \' ist in JavaScript und JSON5 gültig, in JSON nicht. Innerhalb einer Zeichenkette in doppelten Anführungszeichen braucht ein Apostroph überhaupt kein Escape.

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 Invalid \escape: line 1 column 9 (char 8)

Häufige Fragen

Warum sieht meine Python-Zeichenkette richtig aus und schlägt trotzdem fehl?
Weil der Backslash zweimal verbraucht wird: einmal vom Python-String-Literal und einmal von JSON. Verwenden Sie ein Raw-String-Literal, oder bauen Sie das Objekt und rufen Sie json.dumps auf, statt JSON von Hand zu schreiben.
Ist \/ wirklich erlaubt?
Ja. Einen Schrägstrich zu escapen ist in JSON optional, und beide Formen meinen dasselbe Zeichen. Es existiert, damit JSON gefahrlos in ein script-Tag in HTML eingebettet werden kann, wo die Folge </ das Element beenden würde.

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.

Eine Zeichenkette korrekt escapen