
Code Node 是什麼?為什麼它這麼重要?
Code Node 讓你可以在流程中:
- 操作字串(String)
- 清洗與格式化資料
- 重組 JSON 結構
- 加上條件與計算邏輯
你可以把它想成:
n8n 裡的「資料整理工作台」
只要你流程中有「資料要變乾淨、變好用」,
Code Node 幾乎一定會出現。
常見文字處理:全部用 Code Node 完成

1. 去除多餘空白、換行
實務上,來自表單、文字辨識OCR、API 的文字常常長這樣:
Hello
World
包含換行、tab、奇怪的空白鍵。
在 Code Node 裡可以這樣進行處理:
return items.map(item => {
item.json.text = item.json.text
.replace(/\s+/g, ' ')
.trim();
return item;
});
輸出結果:
Hello World
👉 這是 n8n 裡最常見的第一步清洗
2. 替換文字(讓內容格式統一)
例如:
- 台北市 → 臺北市
- , → 、
- 半形符號 → 全形符號
return items.map(item => {
item.json.address = item.json.address
.replace('台北市', '臺北市')
.replace(/,/g, '、');
return item;
});
上面應用在產報表、產文件、政府申報資料時非常重要。
3. 切割 / 拆解字串
很多資料會是一整串字:
蛋糕, 麵包, 可頌
在 Code Node 裡切割:
return items.map(item => {
item.json.products = item.json.products
.split(',')
.map(p => p.trim());
return item;
});
輸出變成:
["蛋糕", "麵包", "可頌"]
接下來再接 Loop / Split In Batches,讓工作流一項一項處理就會非常順利。
4. 組裝模板字串(通知、報表超常用)
例如要組一句話:
{name} 訂購了 {product},總金額 {price} 元
Code Node 直接寫:
return items.map(item => {
item.json.message =
`${item.json.name} 訂購了 ${item.json.product},總金額 ${item.json.price} 元`;
return item;
});
不管是寄 Email、Slack、LINE、Webhook,全部都可以靠這一招完成工作。
Code Node:資料轉換的進階應用
當需求不只是文字,而是「資料結構與邏輯」,
Code Node 就正式進入主場。
1. 重組 JSON 結構
JSON 是一種開發人員很常使用管理文字的格式,而每種 JSON結構都略有不同,我們可以經由改寫 node節點,來重構 JSON資料。
原始資料:
{
"user": {
"name": "麥特",
"email": "test@example.com"
},
"order": {
"id": "A123",
"total": 250
}
}
這裡我們只保留需要的欄位():
return items.map(item => ({
json: {
name: item.json.user.name,
total: item.json.order.total
}
}));
最後顯示出來的內容就會只有我們需要的資訊:
[
{
"json": {
"name": "麥特",
"total": 250
}
}
]
先整理結構,後面流程會乾淨很多。
2. 條件過濾與資料清洗
return items
.filter(item => item.json.total > 0)
.map(item => {
item.json.priceWithTax = item.json.total * 1.05;
return item;
});
- 無效資料先擋掉(過濾掉
total值小於或等於 0 的資料) - 計算邏輯集中處理(計算出一個新的欄位
priceWithTax,代表含稅金額 5%)
在code節點中直接過去條件並加上基礎的計算,可以避免後面節點被奇怪資料卡死。
3. 計算與格式轉換
常見用途包含:
- 金額加總
- 稅金計算
- UTC → 台灣時間
- 字串與數值混合處理
- 單位轉換
這些都適合在 同一顆 Code Node 解決乾淨。
實務心法:Code Node 怎麼用才不會亂?
以下這是我實戰中的經驗
| 需求類型 | 做法 |
|---|---|
| 去空白、替換、切割字串 | ✅ Code Node |
| 通知文字 / 模板組裝 | ✅ Code Node |
| JSON 重組 / 計算邏輯 | ✅ Code Node 主場 |
| 條件過濾 / 型別轉換 | ✅ Code Node |
重點不是「寫不寫 code」,而是「用一顆 Code Node 幫你完成文字處理的事」。
常見流程組合:Code + Loop + Merge
在 n8n 裡,我最常用的實戰結構是:
Code(清洗字串)
→ Loop / Split In Batches
→ Code(計算 / 重組)
→ Merge
實際案例:營養標示自動產生
我們在工作流前面,收到表單送進來的是一整串文字:
麵粉 300g, 糖 50g, 奶油 100g
流程設計:
1️⃣ Code:切割原料字串、清理格式
2️⃣ Loop:一項一項處理原料
3️⃣ Code:計算熱量與營養素
4️⃣ Merge:輸出完整營養標示
使用code節點,全程不用 Excel。
將文字處理流程直接交給n8n跑,最後給使用看到正確的標籤內容。
Code Node 使用小提醒(很重要)
- 一定要回傳 items 陣列
- Debug 時善用:
console.log(item.json);搭配 Execution Data 查看 - 不要把所有邏輯塞在一顆 Code
- 邏輯拆小,流程才會好維護
結語
在 n8n 裡:
Code Node 不是進階
Code Node 是基本功
它不會像 IF、Loop 那麼花俏,
但每一條成熟、穩定的自動化流程,幾乎都靠它撐起來。
當你開始用 Code Node
來「整理資料 → 建立結構 → 驅動流程」,
你就已經不只是拉線,
而是在設計一套真正能跑的自動化系統。
延伸閱讀(我的 n8n 系列文章)
