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

众所周知: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 数据后出现乱序的解决方案就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • python如何读写json数据

    本文实例为大家分享了python读写json数据的具体代码,供大家参考,具体内容如下 案例: 在web应用中常常用到json数据进行传输数据,本质上是字典类型数据转换成字符串,通过字符串进行网页传输,然后把接收到的字符串转换成字典类似数据 需求:实现字典转换成字符串,字符串转换成字典数据类型,写入文件 如何做? 1.明确dumps和dump的区别,dump的接口是文件,直接写入文件,dumps把对应的数据类型转换成字符串,loads 和dumps相反,load直接从文件中读取文件并把数据转换成对

  • Python JSON格式数据的提取和保存的实现

    环境:python-3.6.5 JSON JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,它使得人们很容易的进行阅读和编写.同时也方便了机器进行解析和生成.适用于进行数据交互的场景,比如网站前台与后台之间的数据交互. Python中自带了json模块,直接import json即可使用 官方文档:https://docs.python.org/3/library/json.html Json在线解析网站:https://www.json.cn/# j

  • Python解析json时提示“string indices must be integers”问题解决方法

    本文实例讲述了Python解析json时提示"string indices must be integers"问题解决方法.分享给大家供大家参考,具体如下: import json,但是出现了一个奇怪的问题: string indices must be integers 这个错误告诉我,[ ]里面应该是数字而不是字符串,但是dict使用key访问也可以,这种错误感觉解析出来的结果像是一个list. 所以考虑是字符串解析的问题.打印解析的结果,是一长串的字符串,一堆的key挤在一起,v

  • python读写json文件的简单实现

    JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.它基于ECMAScript的一个子集. JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C.C++.Java.JavaScript.Perl.Python等).这些特性使JSON成为理想的数据交换语言.易于人阅读和编写,同时也易于机器解析和生成(一般用于提升网络传输速率). JSON在python中分别由list和dict组成. 这是用于序列化的两个模块: json: 用于

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

    众所周知:python json 可以转换的json字符串,但是在将其转换为字典时,出现了乱序 字典是一个散列结构,亦即他自身根据key进行排序,无法保证顺序 import json jsonstr = '{"username":"string","age":"int","income":"float","createdTime":"date"}'

  • python中json操作之json.loads、json.load、json.jumps及json.jump用法

    目录 前言 0.python类型与json类型互换表 1.将json字符串转化(反序列化) (1)json.loads (2)json.load 延伸:如果.json文件中有注释怎么办 2.将python对象转化(序列化) (1)json.dumps (2)json.dump 总结 前言 经常在Python中对JSON格式的文件进行操作,今天对这些操作做一个总结 首先,需要导入json库import json 0.python类型与json类型互换表 Python JSON dict objec

  • python中的Json模块dumps、dump、loads、load函数用法详解

    目录 json的作用 python中的Json模块dumps.dump.loads.load函数用法详解 1.json.dumps()和loads() 2.json.dump()和json.load() 3.如何读取写入多行数据呢? json的作用 JSON (JavaScript Object Notation) 是一种轻量级的数据交换格式 json.dumps(): 对数据进行编码,把python对象转换为字符串数据json.loads(): 对数据进行解码,把json的字符串转换为pyth

  • Python 解析库json及jsonpath pickle的实现

    1. 数据抽取的概念 2. 数据的分类 3. JSON数据概述及解析 3.1 JSON数据格式 3.2 解析库json json模块是Python内置标准库,主要可以完成两个功能:序列化和反序列化.JSON对象和Python对象映射图如下: 3.2.1 json序列化 对象(字典/列表) 通过 json.dump()/json.dumps() ==> json字符串.示例代码如下: import json class Phone(object): def __init__(self, name,

  • Python中使用json.load()和json.loads()加载json数据的方法实例

    目录 前言 预备知识: 使用方法 总结 前言 最近在python里面用json读取json文件,可是老是不成功,特此记录一下. 预备知识: def load(fp, cls=None, object_hook=None, parse_float=None, parse_int=None, parse_constant=None, object_pairs_hook=None, **kw): """Deserialize ``fp`` (a ``.read()``-suppor

  • Python操作JSON实现网络数据交换

    目录 前言 JSON是什么? JSON与XML的优劣差异? 将Python对象编码成JSON字符串 将JSON字符串解码为Python对象 解决中文乱码问题 前言 学学Python中操纵JSON的知识.学完本文,你可以学到如下内容: 1.JSON是什么? 2.JSON与XML的优劣差异? 3.将Python对象编码成JSON字符串 4.将JSON字符串解码为Python对象 5.解决JSON中文乱码问题 JSON是什么? JSON的全称是 JavaScript Object Notation,是

  • python将类似json的数据存储到MySQL中的实例

    由于之前对于爬取下来的数据都是存入MongoDB中,想起来还没有尝试存入MySQL,于是将一篇简单的文章爬取下来,存入MySQL试试 这里用到的python模块是pymysql,因为MySQLdb之前已经停止维护 首先在cmd中连接MySQL并且创建一个数据库json 在图形化界面workbench中可以看到 接下来就要在pycharm中写代码了,在pycharm中导入pymysql后即可 #建立python与MySQL之间的连接 mysql = pymysql.connect(host="lo

  • 使用 Python 处理 JSON 格式的数据

    如果你不希望从头开始创造一种数据格式来存放数据,JSON 是一个很好的选择.如果你对 Python 有所了解,就更加事半功倍了.下面就来介绍一下如何使用 Python 处理 JSON 数据. JSON的全称是 JavaScript 对象表示法 JavaScript Object Notation .这是一种以键值对的形式存储数据的格式,并且很容易解析,因而成为了一种被广泛使用的数据格式.另外,不要因为 JSON 名称而望文生义,JSON 并不仅仅在 JavaScript 中使用,它也可以在其它语

  • 详解Python中如何将数据存储为json格式的文件

    一.基于json模块的存储.读取数据 names_writer.py import json names = ['joker','joe','nacy','timi'] filename='names.json' with open(filename,'w') as file_obj: json.dump(names,file_obj) 解释:我们先导入json模块,再创建一个名字列表,第5行我们指定了要将该列表存储到其中的文件的名称.通常使用扩展名.json来指出文件存储的数据为json格式.

随机推荐