json.loads()方法将一个json串转化为dict的时候,元素顺序变化了

我用json的loads方法再入一个json字符串,转化后的dict的元素位置和转化前的不一致了。因为我要做排序的测试,所以这个要影响结果。请各位大神给找找原因,或者给个解决方案。

内置模块问题。

1、import json
from collections import OrderedDict
metadata = json.loads(text, object_pairs_hook=OrderedDict);

metadata中properties的顺序是跟text中定义的顺序是一样的。

具体可以看python文档中json.loads函数中的参数

2、可以使用内置模块 json

content = {"id": "evt_ugB6x3K43D16wXCcqbplWAJo"}print content #{'id': 'evt_ugB6x3K43D16wXCcqbplWAJo'}import jsonprint json.dumps(content) #{"id": "evt_ugB6x3K43D16wXCcqbplWAJo"}print type(json.dumps(content)) #<type 'str'>。

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-11-25
import json
from collections import OrderedDict
metadata = json.loads(text, object_pairs_hook=OrderedDict);

metadata中properties的顺序是跟text中定义的顺序是一样的。

具体可以看python文档中json.loads函数中的参数

参考资料:http://docs.python.org/dev/library/json.html

本回答被提问者和网友采纳
第2个回答  2012-11-14
json 是没有顺序的,数组有

json.loads()方法将一个json串转化为dict的时候,元素顺序变化了
1、import jsonfrom collections import OrderedDictmetadata = json.loads(text, object_pairs_hook=OrderedDict);metadata中properties的顺序是跟text中定义的顺序是一样的。具体可以看python文档中json.loads函数中的参数 2、可以使用内置模块 json content = {"id": "evt_ugB6x3K43D16wXCcqbplWAJo"}p...

python爬虫的一个问题,json.loads()不式转化字符串为dict类型吗?
你看的那个网上解释,不准确的。json.loads是将json对象转成原生对象。。。也就是说,原来是啥对象,就能给你转出来。只是数据类型,json只支持str类型。如果你原来的对象是dict类型,当然可以用data.keys()方法。但既然错误提示你的事原来的对象是str。。。

python的json.load()函数
比如,考虑a.json文件内容如下,分为两行:使用json.load()方法时,直接读取即可。而使用json.loads()方法相对复杂,因为它不能直接读取列表对象,需要先用文件指针读取内容,将结果转换成字符串格式。这里用"\\n".join()函数将列表内容拼接成字符串,再用json.loads()读取整个字符串,即可完成读取。在...

python中json怎么转dict
在Python中自带json库。通过import json导入。在json模块有以下方法,loads():将json数据转化成dict数据 dumps():将dict数据转化成json数据 load():读取json文件数据,转成dict数据 dump():将dict数据转化成json数据后写入json文件

将字符串转换为字典json.loads(字符串)
将字符串转换为字典,可以使用Python的内置库json的loads方法。例如:json.loads(字符串)具体代码如下:import json myStr='{"name":"xiaobai","age":30}'print('【显示】myStr',type(myStr))print('【执行】json.loads(myStr)')print(json.loads(myStr))print('【执行】type(json.loads(my...

字符串转字典用json报错了,怎么办?
首先,推荐使用Python的标准库模块——JSON,它提供了解析和序列化JSON数据的便利功能。例如,使用`json.loads()`函数可以将JSON字符串转换为Python字典。若您希望获取更高效的解析体验,可以考虑使用第三方库,如`demjson`和`simplejson`。这两个库提供额外优化以提升JSON解析速度。安装它们只需要运行`pip ...

Python json.loads()
字符串格式不对 在转json格式之前,先打印response.text观察下是不是标准json格式,是不是带了callback(),如果有就要切分或正则匹配出json格式的字符串。为了保险用json.loads(jsonstr,strict=False)非严格模式。

python——json.loads避坑
str3 = '{"code": "0000", "data": {"id": 413}, "msg": "None"}'对这三个字符串分别使用json.loads()方法的时候只有str3的运行结果是正确的。这里需要注意的点:1.如果要让json字符串转化为dict类型,字符串中key的值需要用双引号括起来 2.如果字符串中的value是一个字符串形式,如...

将JSON字符串转换为XML字符串
要将JSON字符串转换为XML字符串,首先使用Python的json库中的json.loads()函数将JSON字符串解析为Python字典。然后,使用dicttoxml库中的dicttoxml()函数将此字典转换为XML字符串。具体步骤如下:1. 首先,创建一个名为producs.json的文件在files文件夹中。该文件应包含JSON字符串数据。例如,如果文件...

json.loads和json.load的区别
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对象后写入文件 ...

相似回答