歡迎您光臨本站 註冊首頁

python的json包位置及用法總結

←手機掃碼閱讀     hongdian2012 @ 2020-06-22 , reply:0

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', 'b':(2, 4), '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數據
dictobject
list, tuplearray
str, unicodestring
int, long, floatnumber
Truetrue
Falsefalse
Nonenull
單引號(')雙引號(")

  

   


[hongdian2012 ] python的json包位置及用法總結已經有245次圍觀

http://coctec.com/docs/python/shhow-post-239423.html