python json load json 数据后出现乱序的解决方案


Posted in Python onFebruary 27, 2020

众所周知: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对象后写入文件

以上这篇python json load json 数据后出现乱序的解决方案就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python中使用动态变量名的方法
May 06 Python
Python批量创建迅雷任务及创建多个文件
Feb 13 Python
怎样使用Python脚本日志功能
Aug 14 Python
为什么入门大数据选择Python而不是Java?
Mar 07 Python
Centos部署django服务nginx+uwsgi的方法
Jan 02 Python
Dlib+OpenCV深度学习人脸识别的方法示例
May 14 Python
python实现关闭第三方窗口的方法
Jun 28 Python
解决Django后台ManyToManyField显示成Object的问题
Aug 09 Python
python自动识别文本编码格式代码
Dec 26 Python
Tensorflow 实现释放内存
Feb 03 Python
使用python无账号无限制获取企查查信息的实例代码
Apr 17 Python
Selenium+BeautifulSoup+json获取Script标签内的json数据
Dec 07 Python
Python3标准库之functools管理函数的工具详解
Feb 27 #Python
Python打包工具PyInstaller的安装与pycharm配置支持PyInstaller详细方法
Feb 27 #Python
python通过对字典的排序,对json字段进行排序的实例
Feb 27 #Python
python实现翻译word表格小程序
Feb 27 #Python
Python统计文本词汇出现次数的实例代码
Feb 27 #Python
浅谈python输出列表元素的所有排列形式
Feb 26 #Python
python GUI库图形界面开发之PyQt5 UI主线程与耗时线程分离详细方法实例
Feb 26 #Python
You might like
MVC模式的PHP实现
2006/10/09 PHP
php5新改动之短标记启用方法
2008/09/11 PHP
PHP下对字符串的递增运算代码
2010/08/21 PHP
php遍历替换目录下文件指定内容的方法
2016/11/10 PHP
浅谈laravel框架sql中groupBy之后排序的问题
2019/10/17 PHP
学习从实践开始之jQuery插件开发 对话框插件开发
2012/04/26 Javascript
jquery动画2.元素坐标动画效果(创建一个图片走廊)
2012/08/24 Javascript
offsetHeight在OnLoad中获取为0的现象
2013/07/22 Javascript
JQuery加载图片自适应固定大小的DIV
2013/09/12 Javascript
利用函数的惰性载入提高javascript代码执行效率
2014/05/05 Javascript
js控制鼠标事件移动及移出效果显示
2014/10/19 Javascript
javascript设置连续两次点击按钮时间间隔的方法
2014/10/28 Javascript
javascript 动态创建表格
2015/01/08 Javascript
JavaScript函数的4种调用方法实例分析
2019/03/05 Javascript
vue项目首屏加载时间优化实战
2019/04/23 Javascript
在Python中使用全局日志时需要注意的问题
2015/05/06 Python
Python实现数据库并行读取和写入实例
2017/06/09 Python
python在每个字符后添加空格的实例
2018/05/07 Python
解决Django Static内容不能加载显示的问题
2019/07/28 Python
Python-numpy实现灰度图像的分块和合并方式
2020/01/09 Python
pytorch:model.train和model.eval用法及区别详解
2020/02/20 Python
python GUI库图形界面开发之PyQt5 Qt Designer工具(Qt设计师)详细使用方法及Designer ui文件转py文件方法
2020/02/26 Python
TensorFlow实现批量归一化操作的示例
2020/04/22 Python
vscode+PyQt5安装详解步骤
2020/08/12 Python
五种Python转义表示法
2020/11/27 Python
基于 Python 实践感知器分类算法
2021/01/07 Python
使用CSS3实现多列布局与多背景的技巧
2016/02/29 HTML / CSS
HTML5 Canvas绘制五星红旗
2016/05/04 HTML / CSS
HTML5拖拽API经典实例详解
2018/04/20 HTML / CSS
中国海淘族值得信赖的海淘返利网站:55海淘
2017/01/16 全球购物
欧洲最大的球衣网上商店:Kitbag
2017/11/11 全球购物
贝斯特韦斯特酒店集团官网:Best Western
2019/01/03 全球购物
团购业务员岗位职责
2014/03/15 职场文书
环保守法证明
2015/06/24 职场文书
JavaScript文档对象模型DOM
2021/11/20 Javascript
使用JS前端技术实现静态图片局部流动效果
2022/08/05 Javascript