Python3中我們利用內(nèi)置模塊 json 解碼和編碼 JSON對(duì)象 ,JSON(JavaScript Object Notation)是指定 RFC 7159(廢棄了RFC 4627)和 ECMA-404是一種輕量級(jí)數(shù)據(jù)交換格式,受 JavaScript對(duì)象文字語法的啟發(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ì)象 類型。當(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)
比如我們用來解碼上個(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é)果:
[1, 'Python ', {'one': 1, 'three': 3, 'two': 2}, True]
可以看到我們成功對(duì)上個(gè)例子中的JSON對(duì)象進(jìn)行了解碼,并且最終的解碼結(jié)果為Python列表對(duì)象類型,符合Python對(duì)象-JSON對(duì)象對(duì)照表的結(jié)果。
總結(jié)
以上所述是小編給大家介紹的Python3內(nèi)置模塊之json編解碼方法小結(jié),希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
如果你覺得本文對(duì)你有幫助,歡迎轉(zhuǎn)載,煩請(qǐng)注明出處,謝謝!
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元
