Rumah >pembangunan bahagian belakang >Tutorial Python >Bolehkah JSON dimuatkan ke dalam OrderedDict untuk Mengekalkan Pesanan Utama?
Memuatkan JSON ke dalam OrderedDict
Dalam JSON, data disimpan dalam pasangan nilai kunci. Susunan pasangan ini tidak dijamin. Walau bagaimanapun, dalam senario tertentu, mengekalkan susunan kunci adalah penting. Timbul persoalan: bolehkah JSON dimuatkan ke dalam kamus tertib (OrderedDict)?
Penyelesaian dengan object_pairs_hook
Ya, JSON boleh dimuatkan ke dalam OrderedDict. Ini dicapai dengan menentukan hujah object_pairs_hook kepada pembina JSONDecoder. Argumen object_pairs_hook mengambil fungsi yang dipanggil untuk setiap pasangan kunci dan nilai dalam objek JSON. Fungsi ini boleh mengembalikan kamus yang dipesan, memastikan susunan kekunci terpelihara. Di bawah ialah contoh:
import json from collections import OrderedDict data = json.loads('{"foo":1, "bar": 2}', object_pairs_hook=OrderedDict) print(json.dumps(data, indent=4))
Output:
{ "foo": 1, "bar": 2 }
Ini berfungsi kerana fungsi object_pairs_hook mengembalikan objek OrderedDict, yang mengekalkan susunan kekunci.
Alternatif Menggunakan json.load
Pendekatan yang sama boleh digunakan pada fungsi json.load:
data = json.load(open('config.json'), object_pairs_hook=OrderedDict)
Atas ialah kandungan terperinci Bolehkah JSON dimuatkan ke dalam OrderedDict untuk Mengekalkan Pesanan Utama?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!