Heim > Backend-Entwicklung > Python-Tutorial > Können JSON-Daten in ein OrderedDict geladen werden, wobei die Schlüsselreihenfolge beibehalten wird?

Können JSON-Daten in ein OrderedDict geladen werden, wobei die Schlüsselreihenfolge beibehalten wird?

Barbara Streisand
Freigeben: 2024-12-06 01:48:10
Original
193 Leute haben es durchsucht

Can JSON Data Be Loaded into an OrderedDict, Maintaining Key Order?

JSON in ein OrderedDict laden

Frage:

Ist es möglich, JSON-Daten in ein OrderedDict zu laden und dabei die Daten beizubehalten? Originalbestellung von Schlüssel?

Antwort:

Ja, es ist möglich, JSON in ein OrderedDict zu laden, indem das Argument object_pairs_hook der Klasse JSONDecoder verwendet wird. Dieses Argument gibt die Funktion an, die aufgerufen werden soll, um das Objekt aus den dekodierten JSON-Daten zu erstellen.

Durch die Übergabe von „collections.OrderedDict“ als Argument „object_pairs_hook“ können Sie sicherstellen, dass das resultierende Objekt ein „OrderedDict“ ist, wobei die Reihenfolge des Objekts erhalten bleibt Geben Sie die JSON-Daten ein.

So können Sie dieses Argument verwenden json.JSONDecoder:

decoder = json.JSONDecoder(object_pairs_hook=collections.OrderedDict)
data = decoder.decode('{"foo":1, "bar": 2}')
print(data)
Nach dem Login kopieren

Dies gibt ein OrderedDict mit den Schlüsseln in derselben Reihenfolge aus, in der sie in den JSON-Daten erschienen sind:

OrderedDict([('foo', 1), ('bar', 2)])
Nach dem Login kopieren

Sie können dieses Argument auch mit JSON verwenden .loads, um das gleiche Ergebnis zu erzielen:

import json
from collections import OrderedDict

data = json.loads('{"foo":1, "bar": 2}', object_pairs_hook=OrderedDict)
print(data)
Nach dem Login kopieren

Schließlich können Sie dieses Argument mit json.load verwenden, um Daten aus einer Datei zu laden in ein OrderedDict:

data = json.load(open('config.json'), object_pairs_hook=OrderedDict)
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonKönnen JSON-Daten in ein OrderedDict geladen werden, wobei die Schlüsselreihenfolge beibehalten wird?. 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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage