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

Expecting property name enclosed in double quotes: line L column C (char N)

Der Parser befindet sich in einem Objekt und erwartete einen Schlüssel in doppelten Anführungszeichen. Er fand etwas anderes: ein einfaches Anführungszeichen, ein nacktes Wort oder, in älteren Python-Versionen, ein Komma am Ende. JSON verlangt, dass Schlüssel Zeichenketten in doppelten Anführungszeichen sind - ohne Ausnahme für Schlüssel, die wie Bezeichner aussehen.

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 Python-Dict ausgegeben statt serialisiert

    str(d) und print(d) erzeugen einfache Anführungszeichen. Das ist mit Abstand die häufigste Quelle dieses Fehlers.

    Geht kaputt

    data = str({'a': 1})
    json.loads(data)

    Funktioniert

    data = json.dumps({'a': 1})
    json.loads(data)
  2. 02 Quoting der AWS- oder Azure-CLI unter Windows

    PowerShell und cmd behandeln Anführungszeichen anders als eine POSIX-Shell, sodass inline übergebene JSON-Argumente ohne ihre doppelten Anführungszeichen bei der CLI ankommen. Die zuverlässige Lösung ist, das JSON in eine Datei zu legen und file://params.json zu übergeben, statt gegen die Shell zu kämpfen.

    Geht kaputt

    aws dynamodb query --key-condition-expression "{\"id\": ...}"

    Funktioniert

    aws dynamodb query --cli-input-json file://params.json
  3. 03 Ein Komma am Ende, auf Python 3.12 und älter

    Vor 3.13 erzeugte ein Komma am Ende diese Meldung. Ab 3.13 bekommt es eine eigene: „Illegal trailing comma before end of object“. Wenn Sie einer Anleitung folgen, die keine Versionen nennt, kann sie deshalb nicht zu dem passen, was Sie sehen.

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 property name or '}' in JSON at position 1 (line 1 column 2)

Häufige Fragen

Kann ich das repr eines Python-Dicts parsen, ohne es umzuschreiben?
ast.literal_eval erledigt das sicher: Es wertet literale Python-Syntax aus, ohne - anders als eval - beliebigen Code auszuführen. Anschließend json.dumps auf das Ergebnis, wenn Sie echtes JSON brauchen.

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.

Einfache Anführungszeichen in JSON umwandeln