Heim >Backend-Entwicklung >Python-Tutorial >Kann die JSON-Ausgabe ein OrderedDict sein?
Kann JSON in ein OrderedDict geladen werden?
In der JSON-Serialisierung können OrderDicts geladen werden als Inputs genutzt. Es stellt sich jedoch eine entscheidende Frage: Können sie auch als Outputs fungieren? Wenn ja, wie läuft der Prozess ab?
JSON als Ausgabe in OrderedDicts
Ja, OrderDicts können tatsächlich als JSON-Ausgaben dienen. Dies wird durch die Angabe des Arguments object_pairs_hook innerhalb von JSONDecoder erreicht. Wie in der Dokumentation erwähnt, wird dieser Ansatz im folgenden Beispiel demonstriert:
>>> json.JSONDecoder(object_pairs_hook=collections.OrderedDict).decode('{"foo":1, "bar": 2}') OrderedDict([('foo', 1), ('bar', 2)]) >>>
Alternative JSON-Ausgabeparameter
Der Einfachheit halber können Sie diesen Parameter auch übergeben direkt zu json.loads (ohne die Notwendigkeit einer Decoder-Instanz):
>>> import json >>> from collections import OrderedDict >>> data = json.loads('{"foo":1, "bar": 2}', object_pairs_hook=OrderedDict) >>> print json.dumps(data, indent=4) { "foo": 1, "bar": 2 } >>>
Laden von JSON-Daten in OrderedDicts
Ähnlich können JSON-Daten mit json.load auf die gleiche Weise in OrderDicts geladen werden:
>>> data = json.load(open('config.json'), object_pairs_hook=OrderedDict)
Das obige ist der detaillierte Inhalt vonKann die JSON-Ausgabe ein OrderedDict sein?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!