python json load json 数据后出现乱序的解决方案
作者:dymkkj 时间:2021-01-25 02:49:02
众所周知:python json 可以转换的json字符串,但是在将其转换为字典时,出现了乱序
字典是一个散列结构,亦即他自身根据key进行排序,无法保证顺序
import json
jsonstr = '{"username":"string","age":"int","income":"float","createdTime":"date"}'
print(json.loads(jsonstr))
输出结果不一致
代码打印
{'age': 'int', 'createdTime': 'date', 'username': 'string', 'income': 'float'}
控制台:
>>> import json
>>> jsonstr = '{"username":"string","age":"int","income":"float","createdTime":"date"}'
>>> print(json.loads(jsonstr))
{'username': 'string', 'age': 'int', 'income': 'float', 'createdTime': 'date'}
>>>
最后采用有序字典集合:collections.OrderedDict ,二者输出保持一致
dictStr = json.loads(jsonstr,object_pairs_hook=collections.OrderedDict)
补充拓展:细数json.load和loads的区别
Python中json.load和json.loads都是实现“反序列化”,区别是:
loads针对内存对象,即将Python内置数据序列化为字串
如使用json.dumps序列化的对象d_json=json.dumps({'a':1, 'b':2})
,在这里d_json是一个字串'{"b": 2, "a": 1}'
d=json.loads(d_json) #{ b": 2, "a": 1}
,使用load重新反序列化为dict
load针对文件句柄
如本地有一个json文件a.json则可以d=json.load(open('a.json'))
相应的,dump就是将内置类型序列化为json对象后写入文件
来源:https://blog.csdn.net/dymkkj/article/details/81334971
标签:python,json,load,乱序
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
Python生成rsa密钥对操作示例
2021-08-25 03:43:31
简单了解python shutil模块原理及使用方法
2023-02-12 22:07:44
Javascript——浅析注册事件
2008-08-19 12:44:00
Python爬虫之Selenium实现关闭浏览器
2022-12-09 07:11:03
Python OpenCV之常用滤波器使用详解
2023-02-07 22:18:25
![](https://img.aspxhome.com/file/2023/9/81589_0s.jpg)
Python读写Json涉及到中文的处理方法
2021-10-29 10:26:24
基于python实现的抓取腾讯视频所有电影的爬虫
2023-02-20 22:01:39
Python 网络爬虫--关于简单的模拟登录实例讲解
2022-11-21 16:52:55
![](https://img.aspxhome.com/file/2023/9/65509_0s.jpg)
Python 网页请求之requests库的使用详解
2021-01-30 23:42:06
关于DOM元素定位属性的深入学习
2008-04-02 11:46:00
通过实例简单了解python yield使用方法
2023-03-07 23:41:02
php全局变量和类配合使用深刻理解
2023-11-18 19:50:17
Python基础之变量的相关知识总结
2021-05-09 00:16:06
CSS Frameworks的概念
2008-01-23 18:41:00
pandas如何解决excel科学计数法问题
2023-12-20 05:06:20
Windows下MySQL安全权限设置方法
2009-07-30 08:32:00
python实现简单银行管理系统
2021-01-24 17:59:28
python编程通过蒙特卡洛法计算定积分详解
2022-05-31 10:45:01
![](https://img.aspxhome.com/file/2023/9/90809_0s.png)
Python文件操作之合并文本文件内容示例代码
2021-06-24 13:58:05
![](https://img.aspxhome.com/file/2023/5/92315_0s.png)
Python如何把十进制数转换成ip地址
2023-02-20 21:36:55