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 18 Python
Python显示进度条的方法
Sep 20 Python
python3.5 tkinter实现页面跳转
Jan 30 Python
对python字典过滤条件的实例详解
Jan 22 Python
Django项目使用CircleCI的方法示例
Jul 14 Python
PyCharm 配置远程python解释器和在本地修改服务器代码
Jul 23 Python
解决tensorflow由于未初始化变量而导致的错误问题
Jan 06 Python
Python中sorted()排序与字母大小写的问题
Jan 14 Python
python 利用百度API识别图片文字(多线程版)
Dec 14 Python
2021年值得向Python开发者推荐的VS Code扩展插件
Jan 25 Python
教你利用python实现企业微信发送消息
May 23 Python
Python实现打乒乓小游戏
Sep 25 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
114啦源码(114la)不能生成地方房产和地方报刊问题4级页面0字节的解决方法
2012/01/12 PHP
php实现获取文件mime类型的方法
2015/02/11 PHP
PHP实现的回溯算法示例
2017/08/15 PHP
javascript中onmouse事件在div中失效问题的解决方法
2012/01/09 Javascript
javascript+xml实现简单图片轮换(只支持IE)
2012/12/23 Javascript
用JavaScript实现动画效果的方法
2013/07/20 Javascript
createTextRange()的使用示例含文本框选中部分文字内容
2014/02/24 Javascript
使用jquery+CSS实现控制打印样式
2014/12/31 Javascript
javascript动态创建链接的方法
2015/05/13 Javascript
jquery实现可自动判断位置的弹出层效果代码
2015/10/12 Javascript
javascript-解决mongoose数据查询的异步操作
2016/12/22 Javascript
Extjs表单输入框异步校验的插件实现方法
2017/03/20 Javascript
基于JavaScript实现选项卡效果
2017/07/21 Javascript
基于Vue实现页面切换左右滑动效果
2020/06/29 Javascript
jQuery中元素选择器(element)简单用法示例
2018/05/14 jQuery
利用Decorator如何控制Koa路由详解
2018/06/26 Javascript
Vue中的$set的使用实例代码
2018/10/08 Javascript
vue实现todolist基本功能以及数据存储功能实例详解
2019/04/11 Javascript
js 对象使用的小技巧实例分析
2019/11/08 Javascript
微信小程序实现录制、试听、上传音频功能(带波形图)
2020/02/27 Javascript
python脚本监控docker容器
2016/04/27 Python
python交互式图形编程实例(二)
2017/11/17 Python
《与孩子一起学编程》python自测题
2018/05/27 Python
django 多对多表的创建和插入代码实现
2019/09/09 Python
在pytorch中对非叶节点的变量计算梯度实例
2020/01/10 Python
Python解析多帧dicom数据详解
2020/01/13 Python
美国知名日用品连锁超市:Dollar General(多来店)
2017/01/14 全球购物
Deux par Deux官方网站:设计师童装
2020/01/03 全球购物
linux面试题参考答案(4)
2014/09/21 面试题
2014年公司迎新年活动方案
2014/02/24 职场文书
《蚕姑娘》教学反思
2014/04/15 职场文书
物业品质提升方案
2014/06/08 职场文书
交通安全月活动总结
2015/05/08 职场文书
小学主题班会教案
2015/08/17 职场文书
班主任培训研修日志
2015/11/13 职场文书
数学复习课教学反思
2016/02/18 职场文书