JSON.md
JSON(JavaScript Object Notation)是一種輕量級的資料交換格式,廣泛應用於 API 資料傳輸與設定檔儲存。Python 提供內建的 json
模組來讀寫與轉換 JSON 資料。
一、基本語法與資料型態對應
JSON 類型
Python 類型
object
dict
array
list
string
str
number
int / float
true / false
True / False
null
None
二、讀取 JSON 檔案(json.load)
import json
with open('data.json', 'r', encoding='utf-8') as f:
data = json.load(f)
print(data)
三、寫入 JSON 檔案(json.dump)
person = {'name': 'Alice', 'age': 30, 'is_student': False}
with open('output.json', 'w', encoding='utf-8') as f:
json.dump(person, f, ensure_ascii=False, indent=2)
indent
參數可讓輸出更具可讀性
indent
參數可讓輸出更具可讀性ensure_ascii=False
支援中文輸出
ensure_ascii=False
支援中文輸出四、JSON 字串處理(load vs loads)
# 將 JSON 字串轉成 Python 物件
json_str = '{"x": 10, "y": [1, 2, 3]}'
data = json.loads(json_str)
# 將 Python 物件轉為 JSON 字串
json_text = json.dumps(data, indent=2)
print(json_text)
五、錯誤處理與常見問題
問題
原因與解法
UnicodeEncodeError
輸出中文時未設定 ensure_ascii=False
TypeError
資料中有無法序列化的物件(如 datetime、物件)
JSONDecodeError
輸入 JSON 格式不正確
六、應用情境
儲存程式設定檔、使用者偏好(config.json)
資料交換(API 請求與回應)
輕量級資料儲存格式(如取代 CSV 的結構性需求)
熟悉 JSON 的讀寫與轉換是現代程式開發的重要技能,善用 json
模組能讓你輕鬆處理結構化資料與串接各類服務。
Last updated