這篇文章將為大家詳細(xì)講解有關(guān)python中json包的使用方法,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
創(chuàng)新互聯(lián)2013年開創(chuàng)至今,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項目網(wǎng)站制作、成都網(wǎng)站設(shè)計網(wǎng)站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元新晃做網(wǎng)站,已為上家服務(wù),為新晃各地企業(yè)和個人服務(wù),聯(lián)系電話:18982081108
JSON是一種獨立于語言的文本格式,用于數(shù)據(jù)交換,可以在不同語言間交換數(shù)據(jù)。
在高級版本的Python里自帶json模塊包,使用import json直接導(dǎo)入模塊。
JSON文本以“鍵/值”對形式定義,Python里的json模塊主要用于“Python數(shù)據(jù)與JSON格式的數(shù)據(jù)間相互轉(zhuǎn)換”。
JSON的數(shù)據(jù)類型:數(shù)字(整數(shù)或浮點數(shù)),字符串(“ ”),邏輯值(True/False),數(shù)組([ ]),對象({ }),null。
json模塊里常用的四個方法是dump,dumps,load,loads。詳細(xì)的方法使用細(xì)節(jié)參考Python自帶幫助文件help(json.dump)。
Encode編碼為json對象:
json.dumps
Pyhton的Json模塊提供了把內(nèi)存中的對象序列化的方法。
dump的功能就是把Python對象encode為json對象,一個編碼過程。 注意json模塊提供了json.dumps和json.dump方法,區(qū)別是dump直接到文件,而dumps到一個字符串,這里的s可以理解為string。
#dumps方法 import json data = [{ '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對象編碼為string,還可以寫入文件。
但是不能把Python對象直接寫入文件,這樣會報錯TypeError: expected a string or other character buffer object,需要將其序列化之后才可以寫入文件。
#dump方法 import json data = [ { 'a':'A', 'b':(2, 4), 'c':3.0 } ] with open('output.json','w') as fp: json.dump(data,fp)
Decode解碼為Python對象:
json.loads
以上給出了Python內(nèi)置對象dump為json對象的操作,反過來,那如何從json對象decode解碼為Python可以識別的對象呢?
用loads方法,當(dāng)然這個是基于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í)行完時,內(nèi)容會自動關(guān)閉并釋放文件資源。
關(guān)于python中json包的使用方法就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。