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