
你在串接 API、設定 n8n/Zapier 流程,或是學習前端開發時,是不是常常看到一堆長得像程式碼、用大括號 {}
包起來的神秘文字?那就是 JSON!它看起來可能有點嚇人,但請相信我,它其實是現代網路世界中,應用程式之間溝通資料的「通用語言」,而且比你想像的要簡單得多。
把它想成是應用程式之間的「數位名片」。當你的 n8n 流程向 Google Sheets 的 API 索取資料時,Google Sheets 並不是回傳一個 Excel 檔案,而是回傳一段格式化的純文字,這段文字就是 JSON。因為格式統一,所以 n8n 能毫不費力地讀懂這張「名片」上的所有資訊,並進行下一步的自動化操作。
這篇文章就是你的 JSON 完全入門指南。我會用最白話的比喻,帶你從零開始,搞懂 JSON 的結構、語法和用途。讀完之後,你將不再害怕那些密密麻麻的括號和引號,而是能自信地讀懂 API 回傳的資料,為你的自動化技能打下最堅實的基礎!
到底什麼是 JSON?為什麼它這麼重要?
讓我們先從定義和它為何如此受歡迎開始。
JSON 的簡單定義:一種輕量級的資料交換格式
JSON 的全名是 JavaScript Object Notation (JavaScript 物件表示法)。雖然它的名字源自於 JavaScript,但現在它已經是一種完全獨立於任何程式語言、跨平台通用的「資料交換格式」。
它的核心概念非常簡單:用純文字來表示結構化的資料。
「結構化」聽起來很學術,但其實就是把資料整理得有條有理,像是一張填寫好的個人資料卡,上面清楚標示著「姓名」、「電話」、「Email」等欄位和對應的內容。JSON 就是這張資料卡的「純文字版本」。
為什麼大家都愛用 JSON?(JSON vs XML)
在 JSON 出現之前,網路世界常用一種叫做 XML (eXtensible Markup Language) 的格式來交換資料。但如今,JSON 已經成為了絕對的主流,原因有三:
- 人類易讀易寫: 相較於 XML 繁瑣的標籤,JSON 的語法非常簡潔,更接近我們閱讀的習慣,讓開發者可以一目了然地看懂資料結構。
- 機器易於解析: JSON 的格式更輕量,檔案體積更小,這意味著電腦在解析和處理時速度更快、更有效率,能節省網路傳輸的頻寬和伺服器的運算資源。
- 跨語言通用: 幾乎所有主流的程式語言(Python, Java, PHP, C# 等)都有內建的函式庫可以輕鬆解析和生成 JSON。它就像是網路世界的「英語」,讓不同技術打造的應用程式可以順暢地溝通。
我們來看一個簡單的對比,同樣是表示一個人的資料:
XML 格式 (舊的方式):
<person>
<name>王小明</name>
<age>30</age>
</person>
JSON 格式 (現在的主流):
{
"name": "王小明",
"age": 30
}
是不是覺得 JSON 直觀多了?這就是它大受歡迎的原因。

JSON 的核心語法:秒懂「鍵值對」與基本規則
要讀懂 JSON,你只需要掌握它的核心組成:「鍵值對 (Key-Value Pair)」,以及兩個最重要的符號:{}
和 []
。
一切的基礎:「鍵 (Key)」:「值 (Value)」
JSON 的所有資料都是以成對的「鍵」和「值」來呈現的。
- 鍵 (Key): 是資料的「標籤」或「欄位名稱」。它必須是一個用雙引號
""
包起來的文字(字串)。 - 值 (Value): 是這個標籤對應的「實際資料」。它可以是文字、數字、布林值,甚至是更複雜的物件或陣列。
你可以把它想像成一本字典裡的條目:"name": "王小明"
,其中 "name"
是單字(鍵),"王小明"
是它的解釋(值)。
兩個最重要的符號:{}
物件與 []
陣列
JSON 用這兩個符號來組織資料的結構:
- 物件 (Object)
{}
: 一個物件是由一個或多個「鍵值對」組成的無序集合,並用大括號{}
包起來。它通常用來描述一個「事物」的完整屬性。- 比喻: 一個物件就像是「一張完整的個人名片」,上面有多個欄位(姓名、電話、地址)。
- 範例:JSON
{ "name": "陳經理", "company": "ABC 科技", "is_vip": true }
- 陣列 (Array)
[]
: 一個陣列是由一個或多個「值」組成的有序列表,並用中括號[]
包起來。陣列中的項目可以是任何資料類型,包含物件。- 比喻: 一個陣列就像是「一疊名片」,裡面有很多張個人名片。
- 範例:JSON
[ "蘋果", "香蕉", "橘子" ]
JSON 的資料類型:不只是文字而已
在 JSON 的「值 (Value)」中,你可以使用以下幾種不同的資料類型,這也是你在使用 n8n 或 Zapier 時,處理不同欄位資料的基礎。
- 字串 (String): 就是一般的文字,必須用雙引號
""
包起來。例如:"台北市信義區"
。 - 數字 (Number): 就是數字,包含整數和浮點數,不需要加引號。例如:
101
或3.14
。 - 布林值 (Boolean): 只有兩種可能的值:
true
(真) 或false
(假),代表「是」或「否」,不需要加引號。 - 陣列 (Array): 如上所述,用
[]
包起來的列表。 - 物件 (Object): 如上所述,用
{}
包起來的鍵值對集合。 - Null: 代表「空值」或「沒有值」,不需要加引號。當某個欄位沒有資料時,通常會用
null
來表示。
實戰演練:一起來讀懂一段真實的 JSON 資料
理論說完了,我們來看一個結合了各種資料類型的真實範例。假設這是一個 API 回傳的產品列表資料:
JSON
[
{
"product_id": "A001",
"name": "高效能無線滑鼠",
"is_on_sale": true,
"price": 1200,
"specs": {
"dpi": 1600,
"connection": "藍牙5.0"
},
"colors": ["黑色", "白色", "藍色"],
"review_score": 4.8,
"notes": null
},
{
"product_id": "B002",
"name": "機械式鍵盤",
"is_on_sale": false,
"price": 3500,
"specs": {
"switch_type": "青軸",
"connection": "USB-C"
},
"colors": ["黑色"],
"review_score": 4.9,
"notes": "附贈拔鍵器"
}
]
讓我們一起來拆解它:
- 最外層是
[]
: 這代表整個資料是一個「陣列」,也就是一個列表。我們可以預期裡面會有很多個項目。 - 陣列裡有兩個
{}
: 列表中的每個項目都是一個「物件」,這裡代表有兩筆「產品」資料。 - 看第一個產品物件:
"product_id": "A001"
:產品 ID 是字串。"is_on_sale": true
:是否特價中是布林值。"price": 1200
:價格是數字。"specs": { ... }
:規格欄位的值本身又是一個物件,裡面有更詳細的規格資料。"colors": ["黑色", ...]
:顏色欄位的值是一個陣列,裡面包含了多個顏色選項(都是字串)。"notes": null
:備註欄位是空值。
看懂了嗎?當你在 n8n 的節點之間傳遞資料時,看到的就是這樣的結構。理解了這個結構,你就能輕鬆地用 .
來存取你想要的資料,例如 {{ $json.name }}
或 {{ $json.specs.connection }}
。

結語:JSON,你與自動化世界的溝通橋樑
JSON 一點都不可怕,它只是網路世界用來打包和交換資料的一種極其方便、有條理的「快遞單」。它用簡單的「鍵值對」、物件 {}
和陣列 []
,就能清晰地描述出複雜的資料結構。
當你掌握了閱讀 JSON 的能力,你就掌握了理解 API 回應的鑰匙。你將能清楚地知道資料如何被組織,以及如何在 n8n 或 Zapier 中精準地提取和運用這些資料。這不僅能讓你在建立自動化流程時更有信心,更能在除錯時,準確地定位問題的根源。
現在,就把這篇文章當作你的速查手冊,開始自信地探索 API 和自動化的廣大世界吧!