麻豆黑色丝袜jk制服福利网站-麻豆精品传媒视频观看-麻豆精品传媒一二三区在线视频-麻豆精选传媒4区2021-在线视频99-在线视频a

千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機(jī)構(gòu)

手機(jī)站
千鋒教育

千鋒學(xué)習(xí)站 | 隨時隨地免費(fèi)學(xué)

千鋒教育

掃一掃進(jìn)入千鋒手機(jī)站

領(lǐng)取全套視頻
千鋒教育

關(guān)注千鋒學(xué)習(xí)站小程序
隨時隨地免費(fèi)學(xué)習(xí)課程

當(dāng)前位置:首頁  >  技術(shù)干貨  > Python中常用的 json 操作有哪些?

Python中常用的 json 操作有哪些?

來源:千鋒教育
發(fā)布人:xqq
時間: 2023-11-07 11:06:21 1699326381

剛開始接觸json的操作,我主要有下面幾個疑問:

json操作需要什么庫?

如何將python對象轉(zhuǎn)換成JSON字符串,更進(jìn)一步,能不能直接轉(zhuǎn)換成文件句柄存儲到文件中?(編碼)

如何將json字符串轉(zhuǎn)換成python對象,更進(jìn)一步,能不能直接將JSON格式的文件轉(zhuǎn)換成python對象?(解碼)

下面就讓我們一一來探索這些問題。

json操作需要什么庫?

使用json函數(shù)前需要先導(dǎo)入json庫:

importjson

json庫本身就是python內(nèi)置的標(biāo)準(zhǔn)庫,因此你不需要做任何安裝的操作。只要聲明了上面語句,就可直接使用。

如何將python編碼成JSON?

python編碼為JSON的對照表

要完成這個功能,先要看下python數(shù)據(jù)結(jié)構(gòu)編碼為json的對照表。

PythonJSON

dictobject

list,tuplearray

strstring

int,float,int-&float-derivedEnumsnumber

Truetrue

Falsefalse

Nonenull

有了這張表,我們就可以清楚的知道python對象將編碼成的json格式。

json.dumps()

json.dumps()方法的作用就是將python對象轉(zhuǎn)換成JSON字符串,下面來看具體的函數(shù)聲明:

json.dumps(obj,skipkeys=False,ensure_ascii=True,check_circular=True,allow_nan=True,cls=None,indent=None,separators=None,encoding="utf-8",default=None,sort_keys=False,**kw)

參數(shù)看起來好多啊,不過不用擔(dān)心,這么多參數(shù),只有第一個參數(shù)是必填的。下面就來一一了解下這些參數(shù)的意義

obj就是要編碼的python對象

skipkeys默認(rèn)值是False。設(shè)置為True,假如obj中的dictkeys不是基本類型(str,int,float,bool,None),就會被忽略,而不是拋出TypeError錯誤

ensure_ascii默認(rèn)是True,表示默認(rèn)使用ascii編碼。如果obj內(nèi)含有非ASCII字符,就會出現(xiàn)"\uXXXX"格式顯式的數(shù)據(jù),設(shè)置成False就會使用字符本來的編碼。

這里要注意,如果輸入是中文,需要指定ensure_ascii=False

check_circular默認(rèn)值是True,如果設(shè)置為False就不會檢查內(nèi)部類型是否包含循環(huán)引用,而且循環(huán)引用會導(dǎo)致OverflowError

allow_nan默認(rèn)值為False,如果碰到超過范圍的float值(nan,inf,-inf)就使用(NaN,Infinity,-Infinity)替換

如果為True碰到這些值則會導(dǎo)致ValueError

indent縮進(jìn)設(shè)置

如果是非負(fù)整數(shù)或者string,JSONArray元素和對象元素將會按照設(shè)置的縮進(jìn)格式化顯示

值為0,負(fù)值,或者""只會插入新的一行

值為None(也是默認(rèn)值)會盡可能的壓縮

separators分隔符。

如果要設(shè)置它,參數(shù)需要是一個元組(item_separator,key_separator)

默認(rèn)值是(',',':'),表示keys之間用,隔開,而key和value之間用:隔開

sort_keys默認(rèn)值是False,如果設(shè)置成True,dict結(jié)構(gòu)的輸出就會按照key來排序

encoding默認(rèn)值是UTF-8用于設(shè)置JSON數(shù)據(jù)的編碼方式,在處理中文時這里一定要注意。

來看一個例子

>>>importjson

>>>json.dumps(['foo',{'bar':('baz',None,1.0,2)}])

'["foo",{"bar":["baz",null,1.0,2]}]'

>>>print(json.dumps("\"foo\bar"))

"\"foo\bar"

>>>print(json.dumps('\u1234'))

"\u1234"

>>>print(json.dumps('\\'))

"\\"

>>>print(json.dumps({"c":0,"b":0,"a":0},sort_keys=True))

{"a":0,"b":0,"c":0}

json.dump()

json.dump()函數(shù)的作用就是將python對象轉(zhuǎn)換成JSON字符串,并將其通過fp文件流寫入到文件中。來看下具體的函數(shù)聲明:

json.dump(obj,fp,*,skipkeys=False,ensure_ascii=True,check_circular=True,allow_nan=True,cls=None,indent=None,separators=None,default=None,sort_keys=False,**kw)

和前面的dumps函數(shù)進(jìn)行比較,會發(fā)現(xiàn)兩個函數(shù)的參數(shù)是非常相似的,而且它們的意義也都相同。來看下面的例子

>>>importjson

>>>fromioimportStringIO

>>>io=StringIO()

>>>json.dump(['streamingAPI'],io)

>>>io.getvalue()

'["streamingAPI"]'

以上內(nèi)容為大家介紹了Python中常用的json操作有哪些?,希望對大家有所幫助,如果想要了解更多Python相關(guān)知識,請關(guān)注IT培訓(xùn)機(jī)構(gòu):千鋒教育。

聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
10年以上業(yè)內(nèi)強(qiáng)師集結(jié),手把手帶你蛻變精英
請您保持通訊暢通,專屬學(xué)習(xí)老師24小時內(nèi)將與您1V1溝通
免費(fèi)領(lǐng)取
今日已有369人領(lǐng)取成功
劉同學(xué) 138****2860 剛剛成功領(lǐng)取
王同學(xué) 131****2015 剛剛成功領(lǐng)取
張同學(xué) 133****4652 剛剛成功領(lǐng)取
李同學(xué) 135****8607 剛剛成功領(lǐng)取
楊同學(xué) 132****5667 剛剛成功領(lǐng)取
岳同學(xué) 134****6652 剛剛成功領(lǐng)取
梁同學(xué) 157****2950 剛剛成功領(lǐng)取
劉同學(xué) 189****1015 剛剛成功領(lǐng)取
張同學(xué) 155****4678 剛剛成功領(lǐng)取
鄒同學(xué) 139****2907 剛剛成功領(lǐng)取
董同學(xué) 138****2867 剛剛成功領(lǐng)取
周同學(xué) 136****3602 剛剛成功領(lǐng)取
相關(guān)推薦HOT
主站蜘蛛池模板: 国产精品久久久| 韩国全部三级伦电影在线播放| 欧美另类bbbxxxxx另类| 精品久久久久久无码中文字幕| 国产美女mm131爽爽爽毛片| 无遮挡h肉动漫在线观看日本| 狠色狠色狠狠色综合久久| 麻豆91在线播放| 里番肉片h排行榜| 亚洲国产日韩在线人成蜜芽| 久久天天躁日日躁狠狠躁| 男人让女人爽30分钟免费 | 伦之荡艳岳| 一本一道dvd在线观看免费视频| 久久久久久久综合色一本| 久久99国产一区二区三区| 免费中文字幕不卡视频| 羞羞漫画喷水漫画yy视| 欧美日韩高清完整版在线观看免费 | 99re热在线观看| 国产精品9999久久久久| 亚洲欧美成人一区二区在线电影| 亚洲国产高清美女在线观看| 日韩三级免费看| 啊灬啊灬别停啊灬用力啊免费| 国产69精品久久久久777| heyzo小向美奈子在线| 香港一级毛片免费看| 乱淫片免费影院观看| 日本哺乳期xxxx| 日本三人交xxx69视频| 黑料不打烊tttzzz网址入口| 美国一级毛片在线| 三级黄在线观看| 国产va在线播放| 国产精品亚洲精品日韩动图| 亚洲午夜久久久久久尤物| 嫩草影院免费观看| 高龄五十路中出| 波多野结衣精品一区二区三区| 一区二区三区高清视频在线观看 |