JSON-Kodierung/Dekodierung mit Python
Für einen nahtlosen Datenaustausch und eine reibungslose Datenspeicherung ist die Konvertierung von Python-Wörterbüchern in JSON (JavaScript Object Notation) üblich Erfordernis. Beim Versuch, auf JSON-Daten aus einem Wörterbuch zuzugreifen, können jedoch unerwartete Fehler auftreten.
Fehler aufgetreten:
Beachten Sie den folgenden Codeausschnitt:
<code class="python">r = {'is_claimed': 'True', 'rating': 3.5} r = json.dumps(r) file.write(str(r['rating']))</code>
Beim Versuch, über den JSON-String auf den Schlüssel „rating“ zuzugreifen, tritt der Fehler „TypeError: String-Indizes müssen Ganzzahlen sein, nicht str“ auf. Dieser Fehler tritt auf, weil json.dumps() das Wörterbuch „r“ in eine Zeichenfolge konvertiert, nicht in ein tatsächliches JSON-Objekt oder Wörterbuch.
Richtiger Ansatz:
Zur Lösung Um dieses Problem zu lösen, verwenden Sie die Methode json.loads(), um die JSON-Zeichenfolge wieder in ein Wörterbuch zu laden. Dadurch können Sie wie folgt auf den Schlüssel „Bewertung“ zugreifen:
<code class="python">import json r = {'is_claimed': 'True', 'rating': 3.5} r = json.dumps(r) loaded_r = json.loads(r) print(loaded_r['rating'])</code>
Die Unterscheidung verstehen:
json.dumps() speichert ein Wörterbuch als Zeichenfolge. während json.loads() es als Wörterbuch abruft. Denken Sie daran, json.dumps() beim Serialisieren von Daten und json.loads() beim Deserialisieren zu verwenden.
Das obige ist der detaillierte Inhalt vonSo vermeiden Sie Fehler beim Zugriff auf JSON-Daten aus Python-Wörterbüchern. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!