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!