python json load json 數(shù)據(jù)后出現(xiàn)亂序的解決方案
眾所周知:python json 可以轉(zhuǎn)換的json字符串,但是在將其轉(zhuǎn)換為字典時(shí),出現(xiàn)了亂序
字典是一個(gè)散列結(jié)構(gòu),亦即他自身根據(jù)key進(jìn)行排序,無(wú)法保證順序
import json jsonstr = '{"username":"string","age":"int","income":"float","createdTime":"date"}' print(json.loads(jsonstr))
輸出結(jié)果不一致
代碼打印
{'age': 'int', 'createdTime': 'date', 'username': 'string', 'income': 'float'}
控制臺(tái):
>>> 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)
補(bǔ)充拓展:細(xì)數(shù)json.load和loads的區(qū)別
Python中json.load和json.loads都是實(shí)現(xiàn)“反序列化”,區(qū)別是:
loads針對(duì)內(nèi)存對(duì)象,即將Python內(nèi)置數(shù)據(jù)序列化為字串
如使用json.dumps序列化的對(duì)象d_json=json.dumps({'a':1, 'b':2})
,在這里d_json是一個(gè)字串'{"b": 2, "a": 1}'
d=json.loads(d_json) #{ b": 2, "a": 1}
,使用load重新反序列化為dict
load針對(duì)文件句柄
如本地有一個(gè)json文件a.json則可以d=json.load(open('a.json'))
相應(yīng)的,dump就是將內(nèi)置類(lèi)型序列化為json對(duì)象后寫(xiě)入文件
以上這篇python json load json 數(shù)據(jù)后出現(xiàn)亂序的解決方案就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
python實(shí)現(xiàn)五子棋雙人對(duì)弈
這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)五子棋雙人對(duì)弈,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-05-05Python控制臺(tái)輸出時(shí)刷新當(dāng)前行內(nèi)容而不是輸出新行的實(shí)現(xiàn)
今天小編就為大家分享一篇Python控制臺(tái)輸出時(shí)刷新當(dāng)前行內(nèi)容而不是輸出新行的實(shí)現(xiàn),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-02-02python RabbitMQ 使用詳細(xì)介紹(小結(jié))
這篇文章主要介紹了python RabbitMQ 使用詳細(xì)介紹(小結(jié)),詳細(xì)的介紹了RabbitMQ的概念以及使用,對(duì)學(xué)習(xí)RabbitMQ有一定的幫助,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2018-11-11詳解Python進(jìn)行數(shù)據(jù)相關(guān)性分析的三種方式
相關(guān)系數(shù)量化數(shù)據(jù)集的變量或特征之間的關(guān)聯(lián)。這些統(tǒng)計(jì)數(shù)據(jù)對(duì)科學(xué)和技術(shù)非常重要,Python?有很好的工具可以用來(lái)計(jì)算它們。SciPy、NumPy?和Pandas相關(guān)方法以及數(shù)據(jù)可視化功能,感興趣的可以了解一下2022-04-04使用Python在Excel中實(shí)現(xiàn)自動(dòng)查找并替換數(shù)據(jù)
隨著項(xiàng)目的進(jìn)展,需要經(jīng)常在Excel業(yè)務(wù)表格中查找及替換數(shù)據(jù),已保證數(shù)據(jù)與實(shí)際項(xiàng)目進(jìn)度一致,手動(dòng)一個(gè)一個(gè)查找,然后替換,效率太低,還容易遺漏,現(xiàn)在我們來(lái)試試用Python自動(dòng)完成查找及替換吧,需要的朋友可以參考下2023-12-12詳解Anconda環(huán)境下載python包的教程(圖形界面+命令行+pycharm安裝)
這篇文章主要介紹了Anconda環(huán)境下載python包的教程(圖形界面+命令行+pycharm安裝),這篇文章很適合小白入手級(jí)別的,本文圖文并茂給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-11-11Python pyinstaller庫(kù)的安裝配置教程分享
pyinstaller模塊主要用于python代碼打包成exe程序直接使用,這樣在其它電腦上即使沒(méi)有python環(huán)境也是可以運(yùn)行的。本文就來(lái)和大家分享一下pyinstaller庫(kù)的安裝配置教程,希望對(duì)大家有所幫助2023-04-04Python實(shí)現(xiàn)ATM系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了Python實(shí)現(xiàn)ATM系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-02-02python實(shí)現(xiàn)列表中最大最小值輸出的示例
今天小編就為大家分享一篇python實(shí)現(xiàn)列表中最大最小值輸出的示例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-07-07