python的json包位置及用法總結(jié)
JSON是一種獨(dú)立于語言的文本格式,用于數(shù)據(jù)交換,可以在不同語言間交換數(shù)據(jù)。
在高級(jí)版本的Python里自帶json模塊包,使用import json直接導(dǎo)入模塊。
JSON文本以“鍵/值”對(duì)形式定義,Python里的json模塊主要用于“Python數(shù)據(jù)與JSON格式的數(shù)據(jù)間相互轉(zhuǎn)換”。
JSON的數(shù)據(jù)類型:
數(shù)字(整數(shù)或浮點(diǎn)數(shù)),字符串(“ ”),邏輯值(True/False),數(shù)組([ ]),對(duì)象({ }),null。
json模塊里常用的四個(gè)方法是dump,dumps,load,loads。詳細(xì)的方法使用細(xì)節(jié)參考Python自帶幫助文件help(json.dump)。
Encode編碼為json對(duì)象:
json.dumps
Pyhton的Json模塊提供了把內(nèi)存中的對(duì)象序列化的方法。
dump的功能就是把Python對(duì)象encode為json對(duì)象,一個(gè)編碼過程。 注意json模塊提供了json.dumps和json.dump方法,區(qū)別是dump直接到文件,而dumps到一個(gè)字符串,這里的s可以理解為string。
#dumps方法import jsondata = [{ ’a’:’A’, ’b’:(2, 4), ’c’:3.0 }]print(’DATA:’, repr(data), type(data)) data_string = json.dumps(data)print(’JSON:’, data_string, type(data_string))
json.dump
不僅可以把Python對(duì)象編碼為string,還可以寫入文件。
但是不能把Python對(duì)象直接寫入文件,這樣會(huì)報(bào)錯(cuò)TypeError: expected a string or other character buffer object,需要將其序列化之后才可以寫入文件。
#dump方法import jsondata = [ { ’a’:’A’, ’b’:(2, 4), ’c’:3.0 } ]with open(’output.json’,’w’) as fp: json.dump(data,fp)
Decode解碼為Python對(duì)象:
json.loads
以上給出了Python內(nèi)置對(duì)象dump為json對(duì)象的操作,反過來,那如何從json對(duì)象decode解碼為Python可以識(shí)別的對(duì)象呢?
用loads方法,當(dāng)然這個(gè)是基于string的;如果是文件,可以用json.load方法。
#loads方法decoded_json = json.loads(data_string)print(type(decoded_json),decoded_json)
json.load
#load方法with open(’output.json’) as fp: print(type(fp)) loaded_json = json.load(fp) print(type(loaded_json),loaded_json)
Python里open(‘文件路徑’,‘讀寫模式’)內(nèi)建函數(shù),作用是打開文件。
利用with代碼塊操作,便于管理上下文,當(dāng)with代碼塊執(zhí)行完時(shí),內(nèi)容會(huì)自動(dòng)關(guān)閉并釋放文件資源。
知識(shí)點(diǎn)補(bǔ)充:
數(shù)據(jù)類型對(duì)照表
python數(shù)據(jù) json數(shù)據(jù) dict object list, tuple array str, unicode string int, long, float number True true False false None null 單引號(hào)(’) 雙引號(hào)(')
到此這篇關(guān)于python的json包位置及用法總結(jié)的文章就介紹到這了,更多相關(guān)python的json包用法詳解內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
1. 使用css實(shí)現(xiàn)全兼容tooltip提示框2. 關(guān)于Mysql-connector-java驅(qū)動(dòng)版本問題總結(jié)3. 使用ProcessBuilder調(diào)用外部命令,并返回大量結(jié)果4. 通過工廠模式返回Spring Bean方法解析5. JSP實(shí)現(xiàn)客戶信息管理系統(tǒng)6. python:刪除離群值操作(每一行為一類數(shù)據(jù))7. python中HTMLParser模塊知識(shí)點(diǎn)總結(jié)8. CSS自定義滾動(dòng)條樣式案例詳解9. python 批量下載bilibili視頻的gui程序10. Ajax提交post請(qǐng)求案例分析
