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)
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" } }
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)
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:
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!