Python3內(nèi)置模塊之json編解碼方法小結(jié)【推薦】
Python3中我們利用內(nèi)置模塊 json 解碼和編碼 JSON對(duì)象 ,JSON(JavaScript Object Notation)是指定 RFC 7159(廢棄了RFC 4627)和 ECMA-404是一種輕量級(jí)數(shù)據(jù)交換格式,受 JavaScript對(duì)象文字語(yǔ)法的啟發(fā) (雖然它不是JavaScript 1的嚴(yán)格子集)。下面為Python對(duì)象-->JSON對(duì)象的對(duì)照關(guān)系表。
dumps編碼
我們利用 dumps 將Python對(duì)象編碼為 JSON對(duì)象 ,當(dāng)然 dumps 只完成了序列化為str,而 dump 必須傳文件描述符,將序列化的str保存到文件中,它們的函數(shù)定義為
dumps(obj, *, skipkeys=False, ensure_ascii=True, check_circular=True, allow_nan=True, cls=None, indent=None, separators=None, default=None, sort_keys=False, **kw) 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)
編碼字典
import json
D = {'one': 1, 'two': 2, 'three': 3}
J = json.dumps(D)
print(J)
示例結(jié)果:
{"one": 1, "two": 2, "three": 3}
編碼列表
import json
L = [1, 'Python ', {'one': 1, 'two': 2, 'three': 3}, '']
J = json.dumps(L)
print(J)
示例結(jié)果:
[1, "Python ", {"one": 1, "two": 2, "three": 3}, ""]
編碼
import json S = 'Python' J = json.dumps(S) print(J)
示例結(jié)果:
"Python"
格式化輸出JSON
import json
L = [1, 'Python ', {'one': 1, 'two': 2, 'three': 3}, True]
J = json.dumps(L, sort_keys=True, indent=4)
print(J)
示例結(jié)果:
[
1,
"Python ",
{
"one": 1,
"three": 3,
"two": 2
},
true
]
loads解碼
我們利用 loads 用于解碼 JSON對(duì)象 。解碼結(jié)果即與之對(duì)應(yīng)的 Python對(duì)象 類(lèi)型。當(dāng)然 loads 只完成了反序列化, load 只接收文件描述符,完成讀取文件和反序列化。它們的函數(shù)定義為
loads(s, *, encoding=None, cls=None, object_hook=None, parse_float=None, parse_int=None, parse_constant=None, object_pairs_hook=None, **kw) load(fp, *, cls=None, object_hook=None, parse_float=None, parse_int=None, parse_constant=None, object_pairs_hook=None, **kw)
比如我們用來(lái)解碼上個(gè)示例的數(shù)據(jù)
import json
jsondata = '''
[
1,
"Python ",
{
"one": 1,
"three": 3,
"two": 2
},
true
]
'''
J = json.loads(jsondata)
print(type(J))
print(J)
示例結(jié)果:
<class 'list'>
[1, 'Python ', {'one': 1, 'three': 3, 'two': 2}, True]
可以看到我們成功對(duì)上個(gè)例子中的JSON對(duì)象進(jìn)行了解碼,并且最終的解碼結(jié)果為Python列表對(duì)象類(lèi)型,符合Python對(duì)象-JSON對(duì)象對(duì)照表的結(jié)果。
總結(jié)
以上所述是小編給大家介紹的Python3內(nèi)置模塊之json編解碼方法小結(jié),希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
如果你覺(jué)得本文對(duì)你有幫助,歡迎轉(zhuǎn)載,煩請(qǐng)注明出處,謝謝!
相關(guān)文章
基于python的opencv圖像處理實(shí)現(xiàn)對(duì)斑馬線(xiàn)的檢測(cè)示例
這篇文章主要介紹了基于python的opencv圖像處理實(shí)現(xiàn)對(duì)斑馬線(xiàn)的檢測(cè)示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-11-11
python模擬嗶哩嗶哩滑塊登入驗(yàn)證的實(shí)現(xiàn)
這篇文章主要介紹了python模擬嗶哩嗶哩滑塊登入驗(yàn)證的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-04-04
python3 簡(jiǎn)單實(shí)現(xiàn)組合設(shè)計(jì)模式
這篇文章主要介紹了python3 簡(jiǎn)單實(shí)現(xiàn)組合設(shè)計(jì)模式的方法,文中示例代碼非常詳細(xì),幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下2020-07-07
Python入門(mén)_淺談數(shù)據(jù)結(jié)構(gòu)的4種基本類(lèi)型
下面小編就為大家?guī)?lái)一篇Python入門(mén)_淺談數(shù)據(jù)結(jié)構(gòu)的4種基本類(lèi)型。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-05-05
python中關(guān)于數(shù)據(jù)類(lèi)型的學(xué)習(xí)筆記
在本篇文章里小編給大家整理了關(guān)于python中關(guān)于數(shù)據(jù)類(lèi)型的學(xué)習(xí)筆記內(nèi)容,需要的朋友們可以參考下。2020-07-07
Python使用watchfiles實(shí)現(xiàn)監(jiān)控目錄變更
在工作中難免會(huì)碰到這樣的需求,監(jiān)控指定目錄,下面小編就來(lái)和大家介紹一下如何利用watchfiles 模塊實(shí)現(xiàn)監(jiān)控目錄的變更,感興趣的可以了解下2023-09-09
Python PyTorch實(shí)現(xiàn)Timer計(jì)時(shí)器
這篇文章主要為大家詳細(xì)介紹了Python PyTorch如何實(shí)現(xiàn)簡(jiǎn)單的Timer計(jì)時(shí)器,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2023-08-08
Python3 Post登錄并且保存cookie登錄其他頁(yè)面的方法
今天小編就為大家分享一篇Python3 Post登錄并且保存cookie登錄其他頁(yè)面的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-12-12

