Heim >Backend-Entwicklung >Python-Tutorial >Kann JSON in ein Python OrderedDict geladen werden, um die Schlüsselreihenfolge beizubehalten?
JSON in ein OrderedDict laden
In Python behält ein OrderedDict im Gegensatz zu einem regulären Wörterbuch die Reihenfolge seiner Schlüssel bei. Während es möglich ist, ein OrderedDict mithilfe von json.dump in JSON zu speichern, können wir JSON auch wieder in ein OrderedDict laden, um die ursprüngliche Schlüsselreihenfolge beizubehalten?
JSON in ein OrderedDict laden
Um JSON in ein OrderedDict zu laden, verwenden Sie das Argument object_pairs_hook in der JSONDecoder-Klasse oder in json.loads und json.load. Dieses Argument gibt eine Funktion an, die für jedes Paar von Schlüsseln und Werten im JSON-Objekt aufgerufen wird, während diese geladen werden.
Zum Beispiel, um JSON mit der JSONDecoder-Klasse in ein OrderedDict zu laden:
import json from collections import OrderedDict decoder = json.JSONDecoder(object_pairs_hook=collections.OrderedDict) data = decoder.decode('{"foo": 1, "bar": 2}')
Sie können das Argument object_pairs_hook auch direkt an json.loads übergeben:
import json from collections import OrderedDict data = json.loads('{"foo": 1, "bar": 2}', object_pairs_hook=Collections.OrderedDict)
Oder beim Öffnen eines JSON-Datei:
import json from collections import OrderedDict with open('config.json') as f: data = json.load(f, object_pairs_hook=OrderedDict)
Dadurch werden die JSON-Daten in ein OrderedDict geladen, während die ursprüngliche Reihenfolge der Schlüssel beibehalten wird.
Das obige ist der detaillierte Inhalt vonKann JSON in ein Python OrderedDict geladen werden, um die Schlüsselreihenfolge beizubehalten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!