跳到主要內容
Cypher's Practical Coding
正在準備工作環境...

JSON.parse() 和 JSON.stringify()

  • JSON.parse(string):把 JSON 字串轉成 JavaScript 物件。
  • JSON.stringify(object):把物件轉成 JSON 字串,方便送出 API 或儲存。
  • 常見情境:
    • 廣告平台 webhook 回傳 JSON 字串,需要 parse 才能讀。
    • 發送 GA4 事件或將訂單資料送進內部 API,需要 stringify。

常見錯誤與解法

  • JSON 字串需要雙引號包住鍵;單引號或漏引號會 parse 失敗。
  • JSON 不能包含函式或 undefined。
  • 若 parse 失敗,使用 try...catch 印出錯誤,或先用 JSON 檢查工具驗證。

練習題

AI 協作:學了這個,跟 AI 怎麼配合?

JSON.parse() 和 JSON.stringify() 是程式和文字之間的翻譯官。AI 常會忘記先 parse。

你的人類優勢:

  • 你能判斷資料現在是字串還是已經被 parse 成物件
  • 你能看出 AI 的程式少了 parse 或多了 stringify 的步驟

可以這樣跟 AI 說:

我從 API 拿到的是 JSON 字串,幫我先 parse 成物件,然後取出 data 陣列裡每個元素的 name。

互動示範

DEMO 1可以修改程式碼試玩
DEMO 2可以修改程式碼試玩
DEMO 3可以修改程式碼試玩

挑戰任務

Task 1

將 JSON 字串 parse 成物件後,計算 CTR = clicks / impressions,印出「CTR: 0.025」。

起始程式碼: const raw = '{"impressions": 5000, "clicks": 125}';

Task 2

將物件轉成 JSON 字串並印出。

起始程式碼: const item = { name: "帽子", price: 450 };

Task 3

解析 JSON 字串後取出 campaign 的值並印出。

起始程式碼: const raw = '{"campaign":"春節檔期","clicks":1200}';

BackNext Lesson →