首页 > 后端开发 > Python教程 > JSON 可以加载到 Python OrderedDict 中以保留键顺序吗?

JSON 可以加载到 Python OrderedDict 中以保留键顺序吗?

Linda Hamilton
发布: 2024-12-02 13:45:12
原创
648 人浏览过

Can JSON be Loaded into a Python OrderedDict to Preserve Key Order?

将 JSON 加载到 OrderedDict

在 Python 中,OrderedDict 维护其键的顺序,这与常规字典不同。虽然可以使用 json.dump 将 OrderedDict 转储到 JSON,但我们是否也可以将 JSON 加载回 OrderedDict 以保留原始键顺序?

将 JSON 加载到 OrderedDict

要将 JSON 加载到 OrderedDict 中,请使用 JSONDecoder 类或中的 object_pairs_hook 参数json.loads 和 json.load。此参数指定一个函数,该函数将在加载 JSON 对象中的每对键和值时调用。

例如,使用 JSONDecoder 类将 JSON 加载到 OrderedDict 中:

import json
from collections import OrderedDict

decoder = json.JSONDecoder(object_pairs_hook=collections.OrderedDict)
data = decoder.decode('{"foo": 1, "bar": 2}')
登录后复制

你也可以将 object_pairs_hook 参数直接传递给 json.loads:

import json
from collections import OrderedDict

data = json.loads('{"foo": 1, "bar": 2}', object_pairs_hook=Collections.OrderedDict)
登录后复制

或者打开时JSON 文件:

import json
from collections import OrderedDict

with open('config.json') as f:
    data = json.load(f, object_pairs_hook=OrderedDict)
登录后复制

这会将 JSON 数据加载到 OrderedDict 中,同时保持键的原始顺序。

以上是JSON 可以加载到 Python OrderedDict 中以保留键顺序吗?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板