久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術(shù)文章
文章詳情頁

python json load json 數(shù)據(jù)后出現(xiàn)亂序的解決方案

瀏覽:77日期:2022-08-05 18:07:29

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

字典是一個散列結(jié)構(gòu),亦即他自身根據(jù)key進(jìn)行排序,無法保證順序

import jsonjsonstr = ’{'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)

補(bǔ)充拓展:細(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)容了,希望能給大家一個參考,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 科技| 老河口市| 浮山县| 正镶白旗| 余庆县| 榆中县| 河北区| 会宁县| 中超| 沐川县| 罗江县| 麻栗坡县| 黄石市| 玉树县| 洪湖市| 四川省| 宜都市| 涟源市| 景宁| 延寿县| 衡阳市| 沁阳市| 双柏县| 巴马| 秦皇岛市| 苏州市| 宁波市| 禹州市| 广东省| 江山市| 景德镇市| 石城县| 宁城县| 高平市| 荣昌县| 惠来县| 左云县| 沁水县| 新蔡县| 巴彦县| 嘉鱼县|