1. 程式人生 > 程式設計 >python的json包位置及用法總結

python的json包位置及用法總結

JSON是一種獨立於語言的文字格式,用於資料交換,可以在不同語言間交換資料。

在高階版本的Python裡自帶json模組包,使用import json直接匯入模組。

JSON文字以“鍵/值”對形式定義,Python裡的json模組主要用於“Python資料與JSON格式的資料間相互轉換”。

JSON的資料型別:

數字(整數或浮點數),字串(“ ”),邏輯值(True/False),陣列([ ]),物件({ }),null。

json模組裡常用的四個方法是dump,dumps,load,loads。詳細的方法使用細節參考Python自帶幫助檔案help(json.dump)。

Encode編碼為json物件:

json.dumps

Pyhton的Json模組提供了把記憶體中的物件序列化的方法。

dump的功能就是把Python物件encode為json物件,一個編碼過程。 注意json模組提供了json.dumps和json.dump方法,區別是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','c':3.0 } ]
with open('output.json','w') as fp:
 json.dump(data,fp)

Decode解碼為Python物件:

json.loads

以上給出了Python內建物件dump為json物件的操作,反過來,那如何從json物件decode解碼為Python可以識別的物件呢?

用loads方法,當然這個是基於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(‘檔案路徑',‘讀寫模式')內建函式,作用是開啟檔案。

利用with程式碼塊操作,便於管理上下文,當with程式碼塊執行完時,內容會自動關閉並釋放檔案資源。

知識點補充:

資料型別對照表

python資料 json資料
dict object
list,tuple array
str,unicode string
int,long,float number
True true
False false
None null
單引號(') 雙引號(")

到此這篇關於python的json包位置及用法總結的文章就介紹到這了,更多相關python的json包用法詳解內容請搜尋我們以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援我們!