Chargement de JSON dans un OrderedDict
En Python, un OrderedDict conserve l'ordre de ses clés, contrairement à un dictionnaire classique. Bien qu'il soit possible de vider un OrderedDict dans JSON à l'aide de json.dump, pouvons-nous également charger à nouveau JSON dans un OrderedDict pour conserver l'ordre des clés d'origine ?
Chargement de JSON dans un OrderedDict
Pour charger JSON dans un OrderedDict, utilisez l'argument object_pairs_hook dans la classe JSONDecoder ou dans json.loads et json.load. Cet argument spécifie une fonction qui sera appelée sur chaque paire de clés et de valeurs dans l'objet JSON lors de leur chargement.
Par exemple, pour charger JSON dans un OrderedDict à l'aide de la classe JSONDecoder :
import json from collections import OrderedDict decoder = json.JSONDecoder(object_pairs_hook=collections.OrderedDict) data = decoder.decode('{"foo": 1, "bar": 2}')
Vous pouvez également passer l'argument object_pairs_hook directement à json.loads :
import json from collections import OrderedDict data = json.loads('{"foo": 1, "bar": 2}', object_pairs_hook=Collections.OrderedDict)
Ou lors de l'ouverture un fichier JSON :
import json from collections import OrderedDict with open('config.json') as f: data = json.load(f, object_pairs_hook=OrderedDict)
Cela chargera les données JSON dans un OrderedDict tout en conservant l'ordre d'origine des clés.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!