python json load json 數(shù)據后出現(xiàn)亂序的解決方案
眾所周知:python json 可以轉換的json字符串,但是在將其轉換為字典時,出現(xiàn)了亂序
字典是一個散列結構,亦即他自身根據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)
補充拓展:細數(shù)json.load和loads的區(qū)別
Python中json.load和json.loads都是實現(xiàn)“反序列化”,區(qū)別是:
loads針對內存對象,即將Python內置數(shù)據序列化為字串
如使用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 數(shù)據后出現(xiàn)亂序的解決方案就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
Python控制臺輸出時刷新當前行內容而不是輸出新行的實現(xiàn)
今天小編就為大家分享一篇Python控制臺輸出時刷新當前行內容而不是輸出新行的實現(xiàn),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-02-02使用Python在Excel中實現(xiàn)自動查找并替換數(shù)據
隨著項目的進展,需要經常在Excel業(yè)務表格中查找及替換數(shù)據,已保證數(shù)據與實際項目進度一致,手動一個一個查找,然后替換,效率太低,還容易遺漏,現(xiàn)在我們來試試用Python自動完成查找及替換吧,需要的朋友可以參考下2023-12-12詳解Anconda環(huán)境下載python包的教程(圖形界面+命令行+pycharm安裝)
這篇文章主要介紹了Anconda環(huán)境下載python包的教程(圖形界面+命令行+pycharm安裝),這篇文章很適合小白入手級別的,本文圖文并茂給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下2019-11-11