Vibe Coder
JSON 與 API 資料流:看懂 JSON 就看懂所有 API 的輸出
JSON 是文字格式的資料交換標準,本質上就是 Python dict 的文字版本,要先轉換成 dict 之後才能操作。API 呼叫分成發送請求、確認成功、解析 JSON、取出值四個步驟,每一步都可能出問題,看懂狀態碼就能快速定位。
JSON 與 API 資料流:看懂 JSON 就看懂所有 API 的輸出
天氣、支付、地圖、社群媒體,幾乎所有 API 都用 JSON 溝通。你已經懂 dict 了,這裡的好消息是:JSON 就是 dict 的文字版本,差別只在格式和怎麼解析,看懂它等於看懂了所有 API 的輸出。
你將學到什麼
JSON 就是 dict 的文字版
六種值型別,和 Python 型別幾乎一一對應。
API 資料流四步驟
發送請求、確認成功、解析 JSON、取出值,每步都可能出錯。
讀懂巢狀結構
多層取值逐層念,就不會被層層 dict 和 list 搞混。
常見狀態碼與解法
200 到 500,看到數字就知道下一步該做什麼。
為什麼 Vibe Coder 必須懂 JSON 和 API 資料流
幾乎所有 API 都用 JSON 溝通,看懂它等於看懂所有 API 的輸出。API 資料流也是最常出 bug 的地方:API 有沒有打出去、回傳了什麼、取值取對了嗎,每一步都可能出問題。這一節學好,後面碰到串接第三方服務會事半功倍。
JSON 是什麼:Python dict 的文字版本
{"name": "Joan", "age": 30, "cities": ["Taipei", "Tokyo"]}
JSON 只有六種值字串、數字、布林值、空值、陣列對應 list、物件對應 dict,和 Python 型別幾乎一一對應。差別在於 JSON 傳過來時是文字格式,key 一定是雙引號字串,要轉換之後才能像操作 dict 一樣操作它。
API 資料流:從呼叫到取值四步驟
import requests
response = requests.get(
"https://api.example.com/weather",
params={"q": "Taipei", "units": "metric"}
)
if response.status_code != 200:
result = None
else:
data = response.json()
result = data["main"]["temp"]
| 步驟 | 關鍵動作 | 可能出的問題 |
|---|---|---|
| 發送請求 | 呼叫 API 並帶上參數 | 網路錯誤、網址寫錯、金鑰無效 |
| 確認成功 | 檢查狀態碼 | 狀態碼不是 200 就代表沒成功 |
| 解析 JSON | 把文字轉成 dict | 回傳的不是 JSON 格式時會解析失敗 |
| 取出值 | 用 key 逐層取值 | key 不存在,或巢狀結構取錯層 |
讀懂巢狀 JSON 結構
{
"name": "Taipei",
"main": {"temp": 28.5, "humidity": 75},
"weather": [{"id": 800, "description": "clear sky"}]
}
多層取值逐層念取 main 這個 dict,再取裡面的 temp,就是溫度。取 weather 這個 list,取第一個元素,再取它的 description,就是天氣描述。看到多層取值,照著這個順序逐層念出來就能理解,不用一次想懂全部。
常見 API 狀態碼與解法
| 狀態碼 | 意思 | 第一步怎麼處理 |
|---|---|---|
| 200 | 成功 | 繼續往下取值 |
| 400 | 請求格式錯誤 | 對照 API 文件確認參數名稱 |
| 401 | 未授權 | 確認金鑰正確,且放在正確位置 |
| 403 | 沒有權限 | 確認方案有沒有這個 API 的存取權限 |
| 404 | 找不到 | 確認網址和路徑有沒有打對 |
| 429 | 超過呼叫限制 | 加上延遲,或考慮升級方案 |
| 500 | 伺服器錯誤 | 通常是對方問題,稍後再試 |
延伸學習
HE101|Harness Engineering Foundation(3 小時)
三小時的地圖課,不是操作課。把 Model 與 AI System 分開,拆解一套 AI Harness 的八個組成(Goal、Context、Knowledge、Rules、Tools、Workflow、Evaluation、Iteration),再帶你逆向拆解四個你已經在用的系統,最後畫出自己的第一張 Harness Blueprint。5 章 27 課,附學員講義 PDF 與術語速查表。
NT$ 2,599
AI Native 工作法
四小時完整實錄。工作已經不是以前的工作了 ── 這門課拆解 AI Native 的四個核心能力,帶你把自己的工作做成一份可執行的 AI Native Blueprint,從「會用 AI 的人」變成「工作本身就長在 AI 上的人」。
NT$ 2,599
常見問答
JSON 和 Python 的 dict 是同一件事嗎?
概念上幾乎一樣,差別在 JSON 是文字格式,key 一定是雙引號字串。收到 API 回傳的 JSON 後,要先轉換成 dict,才能用 key 取值。
API 回傳 401 代表什麼?
代表未授權,通常是金鑰無效、過期,或根本沒有傳出去。要確認金鑰是否正確,並且放在 API 要求的正確位置,例如標頭或參數裡。
巢狀 JSON 要怎麼取值才不會出錯?
逐層念出取值路徑,先確定要取哪一層的 dict 或 list,再往下一層取。取值前先用安全取值的方法確認 key 存在,可以避免直接出錯。
API 呼叫最容易在哪一步出問題?
四個步驟都可能出錯,最常見的是狀態碼不是 200 卻沒有先判斷就直接解析,或是巢狀結構取值取錯層,導致 key 不存在的錯誤。

