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,乱序
0
投稿

猜你喜欢

  • 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
  • Python读写Json涉及到中文的处理方法

    2021-10-29 10:26:24
  • 基于python实现的抓取腾讯视频所有电影的爬虫

    2023-02-20 22:01:39
  • Python 网络爬虫--关于简单的模拟登录实例讲解

    2022-11-21 16:52:55
  • 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
  • Python文件操作之合并文本文件内容示例代码

    2021-06-24 13:58:05
  • Python如何把十进制数转换成ip地址

    2023-02-20 21:36:55
  • asp之家 网络编程 m.aspxhome.com