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

Expected property name or '}' in JSON at position N (line L column C)

Der Parser hat ein Objekt geöffnet und erwartete entweder einen Schlüssel in doppelten Anführungszeichen oder die schließende geschweifte Klammer. Er bekam etwas anderes. In echten Daten ist dieses andere fast immer ein einfaches Anführungszeichen oder ein nackter Bezeichner - was heißt, dass der Text das repr eines Python-Dicts oder ein JavaScript-Objektliteral ist und kein JSON.

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 Schlüssel in einfachen Anführungszeichen, aus einem mit str() ausgegebenen Python-Dict

    print(mein_dict) und str(mein_dict) erzeugen Python-Syntax, kein JSON: einfache Anführungszeichen sowie True, False und None statt true, false und null. Verwenden Sie json.dumps, um JSON zu erzeugen.

    Geht kaputt

    {'name': 'Priya', 'active': True}

    Funktioniert

    {"name": "Priya", "active": true}
  2. 02 Schlüssel ohne Anführungszeichen, aus einem JavaScript-Objektliteral

    JavaScript erlaubt nackte Bezeichner als Schlüssel. JSON nicht, auch dann nicht, wenn der Schlüssel ein völlig gültiger Bezeichner wäre.

    Geht kaputt

    { name: "Priya", role: "admin" }

    Funktioniert

    { "name": "Priya", "role": "admin" }
  3. 03 Ein Kommentar in einer Konfigurationsdatei

    JSON hat keine Kommentarsyntax. Ein // oder ein /* innerhalb eines Objekts landet hier.

  4. 04 Typografische Anführungszeichen aus einer Textverarbeitung

    Die Autokorrektur in Word, Google Docs, Notizen und mehreren Chat-Clients wandelt gerade Anführungszeichen in geschwungene um. Für einen JSON-Parser sind geschwungene Anführungszeichen gewöhnliche Zeichen, keine Zeichenkettenbegrenzer. Unser Validator benennt sie ausdrücklich, statt ein allgemeines unerwartetes Token zu melden.

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 Expecting property name enclosed in double quotes: line 1 column 2 (char 1)
Java (Jackson) Unexpected character ('s' (code 115)): was expecting double-quote to start field name

Häufige Fragen

Wie erzeuge ich aus einem Python-Dict richtiges JSON?
json.dumps(obj) gibt eine JSON-Zeichenkette zurück. str(obj) und print(obj) geben Python-Syntax zurück, die nur ähnlich aussieht. Das ist eine der häufigsten Quellen ungültigen JSONs überhaupt.
Kann ich das repr eines Python-Dicts in JSON umwandeln?
Ja. ast.literal_eval parst es sicher in ein Python-Objekt, das Sie anschließend mit json.dumps ausgeben können. Unser Reparaturwerkzeug erledigt dieselbe Arbeit im Browser und wandelt die einfachen Anführungszeichen und die Literale True, False und None in einem Durchgang um.

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.

In gültiges JSON umwandeln