【💊 Python的解憂錦囊】如何將dict轉成json並儲存

2023/10/17閱讀時間約 2 分鐘
raw-image


關於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)
raw-image


相信看到這邊, 對於json序列化的部份已經具有一定的基礎認識了, 那麼接下來我們只要將其輸出成檔案就能夠以json檔的格式進行檔案傳輸。

with open("data.json", "w") as json_file:
json_file.write(json_data)
raw-image
raw-image


結語

json資料交換格式在現今的軟體系統中已經成為一種基本的格式了, 有了它, 對於服務間的溝通會更加的便利, 我們就想像成不同國家之間的共同語言或者識別, 而json就是擔任著這樣的角色, 因此我們在這邊就分享常常會遇到的dict轉json的方法,期望對於需要的朋友能夠幫助到。


學習軟體開發的路上常常苦於網路資訊爆炸嗎? 教學何其多,但卻遇到無法明確選擇的困境呢? 歡迎加入「🔒 阿Han的軟體心法實戰營」, 這裡不給您冗餘的雜訊, 單刀直入直接送您業界開發重點, 避開選擇障礙的困境, 讓您獲得業界標準的開發起手式, 成為Top 1的頂尖人才。

91會員
260內容數
哈囉,我是阿Han,是一位 👩‍💻 軟體研發工程師,喜歡閱讀、學習、撰寫文章及教學,擅長以圖代文,化繁為簡,除了幫助自己釐清思路之外,也希望藉由圖解的方式幫助大家共同學習,甚至手把手帶您設計出高品質的軟體產品。
留言0
查看全部
發表第一個留言支持創作者!