溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

python json load json 數據后出現亂序怎么辦

發布時間:2021-08-03 10:41:45 來源:億速云 閱讀:571 作者:小新 欄目:開發技術

這篇文章給大家分享的是有關python json load json 數據后出現亂序怎么辦的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

眾所周知:python json 可以轉換的json字符串,但是在將其轉換為字典時,出現了亂序

字典是一個散列結構,亦即他自身根據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)

補充拓展:細數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 數據后出現亂序怎么辦”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女