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获取网页状态码示例
Mar 30 Python
Python下Fabric的简单部署方法
Jul 14 Python
Python操作Word批量生成文章的方法
Jul 28 Python
python2.7 mayavi 安装图文教程(推荐)
Jun 22 Python
Python 查找字符在字符串中的位置实例
May 02 Python
python中csv文件的若干读写方法小结
Jul 04 Python
Python编程中flask的简介与简单使用
Dec 28 Python
Python分析彩票记录并预测中奖号码过程详解
Jul 09 Python
Python3打包exe代码2种方法实例解析
Feb 17 Python
python对XML文件的操作实现代码
Mar 27 Python
什么是Python中的匿名函数
Jun 02 Python
刚学完怎么用Python实现定时任务,转头就跑去撩妹!
Jun 05 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
一个查看session内容的函数
2006/10/09 PHP
php-accelerator网站加速PHP缓冲的方法
2008/07/30 PHP
PHP学习散记_编码(json_encode 中文不显示)
2011/11/10 PHP
phpphp图片采集后按原路径保存图片示例
2014/02/18 PHP
php之header的不同用法总结(实例讲解)
2017/11/28 PHP
php实现socket推送技术的示例
2017/12/20 PHP
详解Laravel设置多态关系模型别名的方式
2019/10/17 PHP
PHP实现简单的协程任务调度demo示例
2020/02/01 PHP
js利用与或运算符优先级实现if else条件判断表达式
2010/04/15 Javascript
js注意img图片的onerror事件的分析
2011/01/01 Javascript
可自己添加html的伪弹出框实现代码
2013/09/08 Javascript
js 调用百度地图api并在地图上进行打点添加标注
2014/05/13 Javascript
Firefox中使用outerHTML的2种解决方法
2014/06/07 Javascript
Jquery之Bind方法参数传递与接收的三种方法
2014/06/24 Javascript
node.js中的fs.statSync方法使用说明
2014/12/16 Javascript
jQuery检测鼠标左键和右键点击的方法
2015/03/17 Javascript
MVVM模式中ViewModel和View、Model有什么区别?
2015/06/19 Javascript
js操作浏览器的参数方法
2017/01/21 Javascript
Javascript es7中比较实用的两个方法示例
2017/07/21 Javascript
Vue中使用clipboard实现复制功能
2018/09/05 Javascript
微信小程序实现弹出菜单动画
2019/06/21 Javascript
[46:27]DOTA2上海特级锦标赛主赛事日 - 1 胜者组第一轮#2LGD VS MVP.Phx第一局
2016/03/02 DOTA
python模块smtplib学习
2018/05/22 Python
Python识别html主要文本框过程解析
2020/02/18 Python
python 安装库几种方法之cmd,anaconda,pycharm详解
2020/04/08 Python
python 实现 hive中类似 lateral view explode的功能示例
2020/05/18 Python
TUMI香港官网:国际领先的行李箱、背囊品牌
2021/03/01 全球购物
公司成本主管岗位责任制
2014/02/21 职场文书
公司保密承诺书
2014/03/27 职场文书
教师先进工作者事迹材料
2014/05/01 职场文书
介绍信的格式
2015/01/30 职场文书
2016优秀教师先进个人事迹材料
2016/02/25 职场文书
vue实现同时设置多个倒计时
2021/05/20 Vue.js
web前端之css水平居中代码解析
2021/05/20 HTML / CSS
Win11电源已接通但未充电怎么办?Win11电源已接通未充电的解决方法
2022/04/05 数码科技
解决WINDOWS电脑开机后桌面没有任何图标
2022/04/09 数码科技