众所周知: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 数据后出现乱序的解决方案就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件!
如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
金钱帮资源网 Copyright www.kbjia.com
暂无“python json load json 数据后出现乱序的解决方案”评论...
更新日志
2024年10月07日
2024年10月07日
- 张宇.2001-替身【EMI百代】【WAV+CUE】
- 班得瑞原装进口《第六张新世纪专辑:日光海岸》1CD[APE/CUE分轨][339.5MB]
- 班得瑞原装进口《第七张新世纪专辑:梦花园》1CD[APE/CUE分轨][331.4MB]
- 班得瑞原装进口《第八张新世纪专辑:琉璃湖畔》1CD[APE/CUE分轨][286.4MB]
- 魏如萱.2011-在哪里(EP)【添翼创越】【WAV+CUE】
- 群星.1981-新金曲奖·青年创作园地12合辑(喜玛拉雅复刻版)【歌林】【WAV+CUE】
- 麦洁文.1989-新曲与精丫新艺宝】【WAV+CUE】
- SNH48《薄荷糖 (Mint Candy)》[320K/MP3][33.72MB]
- SNH48《薄荷糖 (Mint Candy)》[FLAC/分轨][78.59MB]
- 刘美麟《同生》[320K/MP3][70.99MB]
- 群星.1994-宝丽金最流行3CD【宝丽金】【WAV+CUE】
- 群星.2024-聆听“某某”影视原声带【华纳】【FLAC分轨】
- 陈慧娴.1989-永远是你的朋友(2024环球MQA-UHQCD限量版)【环球】【WAV+CUE】
- 何洛洛.2024-别叫醒我(EP)【光羽】【FLAC分轨】
- 林忆莲.1996-爱莲说2CD【华纳】【WAV+CUE】