前面幾篇我們學會了如何用 Python 讀取 .txt 與 .csv 檔案,
知道了文字資料與表格資料的處理方法。

但在 AI、資料分析、網站開發、或串接 API(應用程式介面)時,
最常遇到的檔案格式其實是—— .json。

今天就讓我們一起學習,
如何用 Python 讀取、理解並操作這種「巢狀結構資料」吧!🌳

什麼是 JSON?

JSON(JavaScript Object Notation)是一種用來儲存與交換資料的格式。
它長得有點像 Python 的 Dictionary(字典),
也常被用在網路 API、AI 模型設定檔、甚至各種應用程式的資料儲存中。

看起來像這樣👇

{
        “course”: “stanCode SC001”,
        “students”: [
                {“name”: “Jerry”, “score”: 95},
                {“name”: “Sally”, “score”: 88},
                {“name”: “Momo”, “score”: 100}
        ],
        “average”: 94.3
}

這是不是很像一個 Python 的 dict 裡面還包著 list?
這就是我們所說的「巢狀資料結構」!

JSON 與 Python 的關係

JSON 格式其實和 Python 的資料型態幾乎一模一樣:

JSON 型態 Python 對應型態
object dict(字典)
array list(串列)
string str(字串)
number int / float(數字)
boolean bool(布林值)
null None

所以 Python 讀取 JSON 檔後,就能直接把資料變成字典或串列使用,非常方便!

如何讀取 JSON 檔

Python 內建一個 json 模組,
只要幾行程式,就能輕鬆讀出 JSON 檔案的內容👇

import json

with open(‘data.json’, ‘r’) as f:
        data = json.load(f)
        print(data)

輸出結果:
{ ‘course’: ‘stanCode SC001’,
   ‘students’: [{‘name’: ‘Jerry’, ‘score’: 95},
                        {‘name’: ‘Sally’, ‘score’: 88},
                        {‘name’: ‘Momo’, ‘score’: 100}],
   ‘average’: 94.3 }

這時候 data 已經是一個 Python 字典 (dict),
我們可以像平常操作變數一樣直接存取:

print(data[‘course’])
# 取得課程名稱
print(data[‘students’][0])
# 取得第一位學生的資料
print(data[‘students’][0][‘name’])
# 取得學生姓名

輸出結果:
stanCode SC001
{‘name’: ‘Jerry’, ‘score’: 95}
Jerry

小比喻

格式 比喻 特性
.txt 📒 筆記:一段段純文字 適合記錄文字內容
.csv 📊 表格:整齊有欄、有列 適合儲存數據
.json 🧩 樹狀資料夾:一層包一層 適合儲存複雜、結構化資料

JSON 就像一個層層分類的資料夾,
裡面可能還有小資料夾(list)或檔案(dict),
非常適合用來描述「一個東西裡面有很多小東西」的資料。

Close Menu