日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > python >内容正文

python

python json模块rodas方法_json模块使用总结——Python

發(fā)布時(shí)間:2024/9/30 python 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python json模块rodas方法_json模块使用总结——Python 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

# 原創(chuàng)文章,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載

通過(guò)Python的json模塊,可以將字符串形式的json數(shù)據(jù)轉(zhuǎn)化為字典,也可以將Python中的字典數(shù)據(jù)轉(zhuǎn)化為字符串形式的json數(shù)據(jù)。

之前使用這個(gè)模塊時(shí),都是隨用隨查,淺嘗輒止,對(duì)模塊的功能了解不深。

隨著使用次數(shù)的增加,我對(duì)這個(gè)功能完善的模塊有了更多的了解,記錄如下。

1、json字符串轉(zhuǎn)為字典

json.load / json.loads

兩個(gè)方法功能類(lèi)似,可選參數(shù)也相同,最大的區(qū)別在于,json.load方法接受的輸入,即第一個(gè)參數(shù),是包含json數(shù)據(jù)的文件對(duì)象,如open方法的返回對(duì)象,

json.loads接受的輸入是json字符串,而非文件對(duì)象。從輸入類(lèi)型的區(qū)別也可以看出兩者的使用場(chǎng)合。

可選參數(shù)包括是否需要轉(zhuǎn)換整型、浮點(diǎn)型等數(shù)值的參數(shù),還有一些復(fù)雜的功能,暫時(shí)沒(méi)有用到,以后有機(jī)會(huì)再了解。

2、字典轉(zhuǎn)換為json

json.dump / json.dumps

對(duì)應(yīng)于load和loads,dump的第一個(gè)參數(shù)是對(duì)象字典,第二個(gè)參數(shù)是文件對(duì)象,可以直接將轉(zhuǎn)換后的json數(shù)據(jù)寫(xiě)入文件,dumps的第一個(gè)參數(shù)是對(duì)象字典,其余都是可選參數(shù)。dump和dumps的可選參數(shù)相同,這些參數(shù)都相當(dāng)實(shí)用,現(xiàn)將用到的參數(shù)記錄如下:

ensure_ascii 默認(rèn)為T(mén)rue,保證轉(zhuǎn)換后的json字符串中全部是ascii字符,非ascii字符都會(huì)被轉(zhuǎn)義。如果數(shù)據(jù)中存在中文或其他非ascii字符,最好將ensure_ascii設(shè)置為False,保證輸出結(jié)果正常。

indent 縮進(jìn),默認(rèn)為None,沒(méi)有縮進(jìn),設(shè)置為正整數(shù)時(shí),輸出的格式將按照indent指定的半角空格數(shù)縮進(jìn),相當(dāng)實(shí)用。

separators 設(shè)置分隔符,默認(rèn)的分隔符是(',', ': '),如果需要自定義json中的分隔符,例如調(diào)整冒號(hào)前后的空格數(shù),可以按照(item_separator, key_separator)的形式設(shè)置。

sort_keys 默認(rèn)為False,設(shè)為T(mén)rue時(shí),輸出結(jié)果將按照字典中的key排序。

1 >>> importjson2 >>> a ={}3 >>> a['1'] = 2

4 >>> a['ad'] = 'ertwer'

5 >>> a['02'] = 'oierte'

6 >>> a[2] = [1, 'a']7 >>> a['non_ascii'] = "青團(tuán) 》 熊貓 ?"

8 >>> a['ss'] =a.copy()9 >>> print(json.dumps(a)) #默認(rèn)參數(shù)輸出,無(wú)縮進(jìn),中文字符都被轉(zhuǎn)義

10 {"2": [1, "a"], "02": "oierte", "ss": {"ad": "ertwer", "2": [1, "a"], "02": "oierte", "1": 2, "non_ascii": "\u9752\u56e2 \u300b \u718a\u732b \uff1f"}, "1": 2, "ad": "ertwer", "non_ascii": "\u9752\u56e2 \u300b \u718a\u732b \uff1f"}11 >>>

12 >>> print(json.dumps(a, ensure_ascii=False, indent=4)) #四空格縮進(jìn),中文字符全部正常

13 {14 "2": [15 1,16 "a"

17 ],18 "02": "oierte",19 "ss": {20 "ad": "ertwer",21 "2": [22 1,23 "a"

24 ],25 "02": "oierte",26 "1": 2,27 "non_ascii": "青團(tuán) 》 熊貓 ?"

28 },29 "1": 2,30 "ad": "ertwer",31 "non_ascii": "青團(tuán) 》 熊貓 ?"

32 }33 >>>

總結(jié)

以上是生活随笔為你收集整理的python json模块rodas方法_json模块使用总结——Python的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。