Python用json模块读取json文件乱序
温馨提醒
🚀 注意啦!这篇文章来自2 年 158 天 以前,可能已跟不上时代的步伐。阅读时请自备时光机,小心穿越哦!
总结摘要
当我们用 json.loads 读取了一份 Json 文件中的数据 修改了某些键的值,再使用 json.dumps 将修改以后的数据,存入新的 json 文件时(序列化) 可能会遇到所有的 key 值乱序的情况,怎么办呢?
问题场景
- python 版本: 3.6
- 操作系统: windows / linux
当我们用 json.loads
读取了一份 Json 文件中的数据(反序列化,转换为 python 可以处理的数据类型)
修改了某些键的值,再使用 json.dumps
将修改以后的数据,存入新的 json 文件时(序列化)
可能会遇到所有的 key 值乱序的情况,如下所示
- 修改前
- 修改完成, json.dumps 重新写入文件中,出现乱序
解决方案
为了确保将修改以后的数据,在序列化写入新的 json 文件时,不会出现乱序的情况
我们需要使用 json.loads
提供的
object_paris_hook
可选参数
在使用 json.loads 反序列化为 python 中的数据类型
时候
结合 collections 模块的 OrderedDict 方法,使得反序列化,得到的有序的字典对象
确保 key 在修改完成以后不会乱序
|
|
json.loads 中有趣的参数
在解决这个问题的时候,还发现一个有趣的参数
json.dumps
的 seprators
下一篇笔记再详细分享~