今天就以實際的範例,
簡單介紹下
Python與 JSON格式資料的讀寫範例
資料交換格式JSON
JSON全名為 Javascript Object Notation
是一種常見的資料交換格式
JSON文件的副檔名為 .json
JSON 資料讀取
在 Python 可透過 json.loads 來讀取一個 JSON格式的字串
str_data = '{ "name": "李大朋", "age": 20, "weight": 70}'
若讀取的是一個 JSON檔案的話,則是用 json.load 來開啟
當然,在進行檔案存取之前得先要 open 檔案,
這在之前的 Python 檔案讀寫就有提及
# 讀取 JSON 檔案
with open("output.json", "r", encoding='UTF-8') as g:
print("\n 讀取 json檔案:")
h = json.load(g)
print(type(h))
print('名字:'+h['name'])
JSON 資料產生
除了讀取其他人交換的 JSON資料,
反過來自己也能夠分享 JSON 格式的資料給別人,
這時就使用 json.dumps 來產生 JSON字串
# 輸出 JSON 字串
q = json.dumps(dict_data)
print("\n json.dumps 結果:")
print(type(q))
print(eval(q))
若為檔案的話,則是使用 json.dump 產生副檔名為 .json的檔案
# 輸出 JSON 檔案
with open("output.json", "w+", encoding='UTF-8') as f:
json.dump(dict_data, f, indent=4, ensure_ascii=False)
若有中文的資料的話,
記得以 UTF-8 的方式來存取檔案,
否則就會直接以編碼的方式寫入檔案,
此處使用 json.dump 來產生 JSON檔案
結語
範例程式最後的結果如下
使用 json.dumps() 將物件轉成 JSON字串
回傳的資料型態為 str ;
使用 json.loads() 讀取 JSON字串
則回傳的資料型態為 dict ;
若讀寫的資料均為檔案的話,
則是使用 json.load() 與 json.dump() ;
若資料有中文,就必須使用 UTF-8 來讀寫,
避免資料顯示或者輸出的時候格式不對造成讀寫困難
沒有留言:
張貼留言