python json load json 數據后出現亂序的解決方案
眾所周知:python json 可以轉換的json字符串,但是在將其轉換為字典時,出現了亂序
字典是一個散列結構,亦即他自身根據key進行排序,無法保證順序
import jsonjsonstr = ’{'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 數據后出現亂序的解決方案就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持好吧啦網。
相關文章:
1. SXNA RSS Blog 聚合器程序2. ASP.NET MVC限制同一個IP地址單位時間間隔內的請求次數3. 通過實例解析js可枚舉屬性與不可枚舉屬性4. python統計字符串中字母出現次數代碼實例5. java實現Linux(centos) 中docker容器下命令交互的代碼(配置向導)6. python爬取豆瓣電影TOP250數據7. vue+element開發一個谷歌插件的全過程8. JSP中Servlet的Request與Response的用法與區別9. Java黑科技之通過Google Java Style 文件配置IDEA和Ecplise代碼風格10. ASP.NET MVC增加一條記錄同時添加N條集合屬性所對應的個體
