python的json包位置及用法總結
JSON是一種獨立于語言的文本格式,用于數據交換,可以在不同語言間交換數據。
在高級版本的Python里自帶json模塊包,使用import json直接導入模塊。
JSON文本以“鍵/值”對形式定義,Python里的json模塊主要用于“Python數據與JSON格式的數據間相互轉換”。
JSON的數據類型:
數字(整數或浮點數),字符串(“ ”),邏輯值(True/False),數組([ ]),對象({ }),null。
json模塊里常用的四個方法是dump,dumps,load,loads。詳細的方法使用細節(jié)參考Python自帶幫助文件help(json.dump)。
Encode編碼為json對象:
json.dumps
Pyhton的Json模塊提供了把內存中的對象序列化的方法。
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內置對象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代碼塊執(zhí)行完時,內容會自動關閉并釋放文件資源。
知識點補充:
數據類型對照表
| python數據 | json數據 |
|---|---|
| dict | object |
| list, tuple | array |
| str, unicode | string |
| int, long, float | number |
| True | true |
| False | false |
| None | null |
| 單引號(') | 雙引號(") |
到此這篇關于python的json包位置及用法總結的文章就介紹到這了,更多相關python的json包用法詳解內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
python調用ffmpeg命令行工具便捷操作視頻示例實現過程
現在短視頻很流行,有很多視頻編輯軟件,功能豐富,而我們需要的只是裁剪功能,而且需要用編程的方式調用,那么最合適的莫過于ffmpeg了2021-11-11
Python使用BeautifulSoup爬取網頁數據的操作步驟
在網絡時代,數據是最寶貴的資源之一,而爬蟲技術就是一種獲取數據的重要手段,Python 作為一門高效、易學、易用的編程語言,自然成為了爬蟲技術的首選語言之一,本文將介紹如何使用 BeautifulSoup 爬取網頁數據,并提供詳細的代碼和注釋,幫助讀者快速上手2023-11-11

