在第一章學會了基礎變數後,這一章我們要進入 n8n 的「加工廠」。透過 Expression (表達式),你可以像寫簡單程式一樣,對資料進行加減乘除、文字接龍或是格式轉換。
學習目標 (Goal)
混熟 Expression Editor:從拖拉取值到手動優化。
學會 文字接龍與運算:組合固定文字與動態變數。
掌握 Edit Fields (Set):高效建立多組資料欄位。
學會用 Sort (排序) 與 Limit (限流) 進行初步資料清洗。
核心觀念 (Concepts)
1. Expression Editor:你的魔術棒
在 n8n 裡,點擊欄位旁邊的圖示即可進入 Expression 編輯器。

- 左側清單 (Left Panel):展開即可看到所有可用的變數(如
$json,$today)。直接拖拉或點擊,編輯器會自動幫你填入{{ ... }}。 - 預覽區塊 (Preview Result):這是最重要的區塊!它會即時顯示出目前處理後的結果。如果顯示
undefined,請檢查路徑是否正確。

2. 進階取值技巧
除了單純抓取變數,你還可以對資料進行「加工」:
文字接龍 (Concatenation):
Hello {{ $json.name }},您的餘額是 {{ $json.balance }} 元。數學運算:
{{ $json.price * 0.9 }}(計算九折後的價格)- 簡單轉換 (JavaScript Methods):
{{ $json.email.toLowerCase() }}(將 Email 轉為小寫){{ $json.text.trim() }}(移除文字前後多餘的空格)
TIP
雖然 Expression 支援簡單的 JavaScript 語法,但請保持簡短。如果邏輯太複雜,之後我們會學習使用專門的 Code 節點。
節點配置 (Node Setup)
Step 1: 練習資料準備
我們使用一份簡單的訂單資料作為練習:
{ "product": "n8n Course", "price": 100, "user": "Danny" }
Step 2: 使用 Edit Fields (Set) 進行多重處理
拉入一個
Edit Fields (Set)節點。Assignments 1: 建立一個
summary(String)。 內容:{{ $json.user }} 購買了 {{ $json.product }}。Assignments 2: 建立一個
tax_included(Number)。 內容:{{ $json.price * 1.05 }}(計算含稅價)。Assignments 3: 建立一個
is_expensive(Boolean)。 內容:{{ $json.price > 50 }}(若價格大於 50 則為 true)。

Step 3: 資料清洗 (Sort & Limit)
當處理大量 Item 時,我們需要精挑細選:
Sort (排序):依照價格或時間進行由大到小 (Descending) 或由小到大 (Ascending) 排列。
Limit (限流):只保留前 X 筆資料,防止後續流程處理過量資料導致超支或當機。
實戰挑戰 (Challenge)
大寫轉換:試著把產品名稱 (product) 全部轉為大寫。
多欄位組合:建立一個
unique_id,組合{{ $workflow.id }}與$runIndex。邏輯判斷:嘗試用
{{ $json.price > 80 ? 'Premium' : 'Standard' }}(三元運算子) 來替產品貼標籤。
NOTE
[配圖建議:展示 Expression Editor 的全螢幕介面,重點標住「Result」區塊,展示一個正在進行字串拼接與數學計算的複雜 Expression。]
