Heim > Backend-Entwicklung > Python-Tutorial > Warum schlägt mein JSON-Decoder fehl: Falsche Syntax in Arrays und Objekten?

Warum schlägt mein JSON-Decoder fehl: Falsche Syntax in Arrays und Objekten?

DDD
Freigeben: 2024-12-15 17:04:13
Original
824 Leute haben es durchsucht

Why Does My JSON Decoder Fail:  Incorrect Syntax in Arrays vs. Objects?

Warum die JSON-Dekodierung fehlschlägt: Ungültige Syntax

Die bereitgestellten JSON-Daten weisen einen Fehler auf, der Python daran hindert, sie erfolgreich zu analysieren. Die Hauptursache liegt in der falschen Syntax der Elemente „Masken“ und „Parameter“.

Syntax von JSON-Objekten vs. Arrays

JSON-Objekte, die äquivalent sind zu Wörterbüchern in Python, werden in geschweifte Klammern {} eingeschlossen. Arrays, die in Python als Listen dargestellt werden, werden in eckige Klammern [] eingeschlossen.

Fehler in den JSON-Daten

Die angegebenen JSON-Daten verwenden fälschlicherweise [] anstelle von { } für „Masken“ und „Parameter“. Dieser Syntaxfehler führt zu der Fehlermeldung:

json.decoder.JSONDecodeError: Expecting ',' delimiter: line 13 column 13 (char 213)
Nach dem Login kopieren

Korrektur der JSON-Syntax

Um den Syntaxfehler zu beheben, werden die Klammern um „Masken“ und „Parameter“ entfernt. sollte durch geschweifte Klammern ersetzt werden. Die korrigierten JSON-Daten sollten wie folgt aussehen:

{
    "maps": [
        {
            "id": "blabla",
            "iscategorical": "0"
        },
        {
            "id": "blabla",
            "iscategorical": "0"
        }
    ],
    "masks": {
        "id": "valore"
    },
    "om_points": "value",
    "parameters": {
        "id": "valore"
    }
}
Nach dem Login kopieren

Python-Code zum Parsen von gültigem JSON

Sobald die JSON-Daten korrigiert sind, kann der Python-Code sie erfolgreich analysieren mit der Methode json.load(). Der bereitgestellte Code kann wie folgt verwendet werden:

import json
from pprint import pprint

with open('data_fixed.json') as f:
    data = json.load(f)

pprint(data)
Nach dem Login kopieren

Dieser Code druckt den Inhalt der JSON-Daten in einem lesbaren Format mit der Funktion pprint().

Werte extrahieren aus JSON

Nach dem Parsen der JSON-Daten kann mithilfe von Python-Wörterbüchern und Listensyntax auf einzelne Werte zugegriffen werden. Zum Beispiel:

  • data['maps'][0]['id']
  • data['masks']['id']
  • data ['om_points']

Das obige ist der detaillierte Inhalt vonWarum schlägt mein JSON-Decoder fehl: Falsche Syntax in Arrays und Objekten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage