日韩欧乱色一区二区三区在线_久久―日本道色综合久久_欧美日本一区二区_网曝91综合精品门事件在线

千鋒教育-做有情懷、有良心、有品質的職業教育機構

手機站
千鋒教育

千鋒學習站 | 隨時隨地免費學

千鋒教育

掃一掃進入千鋒手機站

領取全套視頻
千鋒教育

關注千鋒學習站小程序
隨時隨地免費學習課程

當前位置:首頁  >  技術干貨  > Python中常用的 json 操作有哪些?

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

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

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

json操作需要什么庫?

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

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

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

json操作需要什么庫?

使用json函數前需要先導入json庫:

importjson

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

如何將python編碼成JSON?

python編碼為JSON的對照表

要完成這個功能,先要看下python數據結構編碼為json的對照表。

PythonJSON

dictobject

list,tuplearray

strstring

int,float,int-&float-derivedEnumsnumber

Truetrue

Falsefalse

Nonenull

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

json.dumps()

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

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)

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

obj就是要編碼的python對象

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

ensure_ascii默認是True,表示默認使用ascii編碼。如果obj內含有非ASCII字符,就會出現"\uXXXX"格式顯式的數據,設置成False就會使用字符本來的編碼。

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

check_circular默認值是True,如果設置為False就不會檢查內部類型是否包含循環引用,而且循環引用會導致OverflowError

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

如果為True碰到這些值則會導致ValueError

indent縮進設置

如果是非負整數或者string,JSONArray元素和對象元素將會按照設置的縮進格式化顯示

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

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

separators分隔符。

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

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

sort_keys默認值是False,如果設置成True,dict結構的輸出就會按照key來排序

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

來看一個例子

>>>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()函數的作用就是將python對象轉換成JSON字符串,并將其通過fp文件流寫入到文件中。來看下具體的函數聲明:

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函數進行比較,會發現兩個函數的參數是非常相似的,而且它們的意義也都相同。來看下面的例子

>>>importjson

>>>fromioimportStringIO

>>>io=StringIO()

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

>>>io.getvalue()

'["streamingAPI"]'

以上內容為大家介紹了Python中常用的json操作有哪些?,希望對大家有所幫助,如果想要了解更多Python相關知識,請關注IT培訓機構:千鋒教育。

tags: python培訓
聲明:本站稿件版權均屬千鋒教育所有,未經許可不得擅自轉載。
10年以上業內強師集結,手把手帶你蛻變精英
請您保持通訊暢通,專屬學習老師24小時內將與您1V1溝通
免費領取
今日已有369人領取成功
劉同學 138****2860 剛剛成功領取
王同學 131****2015 剛剛成功領取
張同學 133****4652 剛剛成功領取
李同學 135****8607 剛剛成功領取
楊同學 132****5667 剛剛成功領取
岳同學 134****6652 剛剛成功領取
梁同學 157****2950 剛剛成功領取
劉同學 189****1015 剛剛成功領取
張同學 155****4678 剛剛成功領取
鄒同學 139****2907 剛剛成功領取
董同學 138****2867 剛剛成功領取
周同學 136****3602 剛剛成功領取
相關推薦HOT
主站蜘蛛池模板: 万安县| 湖南省| 望江县| 宜城市| 阿拉善左旗| 通许县| 榆社县| 台山市| 山阳县| 桃江县| 北京市| 乐昌市| 木兰县| 金塔县| 武城县| 扶沟县| 鹤峰县| 永寿县| 梅州市| 平乐县| 永仁县| 聂荣县| 浪卡子县| 泰兴市| 保靖县| 红安县| 河南省| 江油市| 富民县| 赫章县| 汉阴县| 绩溪县| 疏附县| 宜城市| 蒙自县| 陆河县| 德昌县| 泰来县| 兴国县| 库尔勒市| 友谊县|