首頁 > 後端開發 > Python教學 > JSON 資料可以載入到 OrderedDict 中,保持鍵順序嗎?

JSON 資料可以載入到 OrderedDict 中,保持鍵順序嗎?

Barbara Streisand
發布: 2024-12-06 01:48:10
原創
193 人瀏覽過

Can JSON Data Be Loaded into an OrderedDict, Maintaining Key Order?

將JSON 載入到OrderedDict

問題:

是否可以將JSON 資料載入至OrderedDict,保留的原始訂單鍵?

答案:

是的,可以使用 JSONDecoder 類別的 object_pairs_hook 參數將 JSON 載入到 OrderedDict 中。此參數指定要呼叫的函數,以從解碼的 JSON 資料建構物件。

透過傳遞 collections.OrderedDict 作為 object_pairs_hook 參數,您可以確保產生的物件是 OrderedDict,保留物件的順序JSON 資料中的鍵。

以下是如何使用此參數json.JSONDecoder:

decoder = json.JSONDecoder(object_pairs_hook=collections.OrderedDict)
data = decoder.decode('{"foo":1, "bar": 2}')
print(data)
登入後複製

這將輸出一個OrderedDict,其鍵的順序與JSON 資料中出現的順序相同:

OrderedDict([('foo', 1), ('bar', 2)])
登入後複製

您也可以將此參數與json 一起使用.loads可以達到相同的效果:

import json
from collections import OrderedDict

data = json.loads('{"foo":1, "bar": 2}', object_pairs_hook=OrderedDict)
print(data)
登入後複製

最後,你可以將此參數與 json.load 一起使用來載入資料從檔案到 OrderedDict:

data = json.load(open('config.json'), object_pairs_hook=OrderedDict)
登入後複製

以上是JSON 資料可以載入到 OrderedDict 中,保持鍵順序嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板