關於json的資料交換格式請參考「【程式語言 - Javascript】輕量資料格式 JSON」, 我們常常會在使用套件的過程中發現回傳值的型態都會有「dict」的蹤跡, 為什麼呢? 因為動態、彈性、靈活, 不需要預先定義類別來明確指定每個欄位的內容, 但缺點就是文件必須寫清楚內容物是哪些, 否則使用起來會相當痛苦, 必須不斷的print、run、print、run…。
那我們今天的主軸就在於說如何將這樣的「dict」資料格式轉換成「json」檔並儲存, 因為json檔最貼近於「dict」的資料結構, 皆由「key、value」組合而成, 因此轉換通常較為容易。
首先我們可以引入系統內建的json模組。
import json
接著我們可以設計一個「dict」資料型態的內容。
my_dict = {"name": "John", "age": 30, "city": "New York"}
接著我們利用「json.dumps(…)」的方式將字典檔序列化成json, 這邊我們不妨參閱一下官方網站「https://docs.python.org/3/library/json.html#json.dumps」, 它除了單純的序列化之外還能夠增加N個空白進行縮排, 以下例子我們試著展示一下有縮排與沒有縮排的差異。
tmp = json.dumps(my_dict)
print(tmp)
json_data = json.dumps(my_dict, indent=4)
print(json_data)
相信看到這邊, 對於json序列化的部份已經具有一定的基礎認識了, 那麼接下來我們只要將其輸出成檔案就能夠以json檔的格式進行檔案傳輸。
with open("data.json", "w") as json_file:
json_file.write(json_data)
json資料交換格式在現今的軟體系統中已經成為一種基本的格式了, 有了它, 對於服務間的溝通會更加的便利, 我們就想像成不同國家之間的共同語言或者識別, 而json就是擔任著這樣的角色, 因此我們在這邊就分享常常會遇到的dict轉json的方法,期望對於需要的朋友能夠幫助到。
學習軟體開發的路上常常苦於網路資訊爆炸嗎? 教學何其多,但卻遇到無法明確選擇的困境呢? 歡迎加入「🔒 阿Han的軟體心法實戰營」, 這裡不給您冗餘的雜訊, 單刀直入直接送您業界開發重點, 避開選擇障礙的困境, 讓您獲得業界標準的開發起手式, 成為Top 1的頂尖人才。