當資料進入工作流後,它們往往長得不太討喜。有時候 API 給你的欄位名稱是某些工程師才懂的暗號,有時候順序亂得像戰場。這章我們要當資料的美容師,教你如何運用 Edit Fields (Set)、Rename Keys 與 Sort 節點,把 Item 整理得井然有序。
學習目標 (Goal)
搞懂 Edit Fields (Set) (資料加工廠):增加、刪除或運算新欄位。
掌握 Rename Keys (批次命名大師):快速且大規模地修改欄位名稱。
理解 Sort (排序專家):讓資料按數值、文字或日期進行物理排序。
建立資料「美化與標準化」的維護意識。
核心觀念 (Concepts)
Edit Fields (Set):資料加工廠
這是 n8n 裡使用頻率最高的 Node。它就像是一個萬能加工台,你可以增加新欄位、刪除不必要的資料,或是利用 Expression 進行複雜的運算處理。
Rename Keys:批次命名大師
如果你有數十個欄位需要更名,一個一個在 Edit Fields (Set) 裡搬移會讓你瘋掉。Rename Keys 專門負責這種「大規模換臉」的工作,速度快且不易出錯。
Sort:讓 Item 乖乖排隊
自動化的結果往往需要產出報表或發送通知。學會對 Item 進行排序(例如按金額從大到小排),能讓你的產出更具專業度與閱讀性。
節點配置 (Node Setup)
Edit Fields (Set) Node
Mode:
Manual Mapping:拖拉欄位到輸入框設定 Key(可從 INPUT 拖放,預設會帶出 Expression;可切換為 Fixed 輸入固定值)。欄位少、需視覺化操作時適合。
JSON(JSON Output):手動寫入 JSON 作為輸出。結構複雜或需大量 Expression 時適合。
Keep Only Set Fields:啟用後會丟棄未在 Fields to Set 中使用的輸入資料,輸出僅保留你設定的欄位。
Include in Output:選擇要包含在輸出中的輸入資料(全部、僅選定欄位、或排除特定欄位)。
Dot Notation(點記法):欄位名可用
parent.child建立巢狀結構,例如number.one搭配值20會產出{ "number": { "one": 20 } }。可從資料樹點選深層屬性自動帶出路徑。JSON 模式範例(
{{ }}為 Expression 語法;包在引號內會變成字串,不包則保留原類型):{ "newKey": "new value", "array": [{{ $json.id }}, "{{ $json.name }}"], "object": { "innerKey1": "new value", "innerKey2": "{{ $json.id }}", "innerKey3": "{{ $json.name }}" } }

Rename Keys Node
點 Add new key 新增一組更名。
Current Key Name:要更名的欄位名稱(如
cust_email)。New Key Name:新的欄位名稱(如
email)。Node options:
Regex:適用於多個欄位有相同前綴或後綴時批次更名(如
user_*改為*)。須搭配 Replace With 設定替換內容。Case Insensitive:Regex 是否忽略大小寫。
Max Depth:
0僅處理最上層;-1不限制深度(巢狀 JSON 如user.profile.email時會用到)。
CAUTION
使用 Regex 時,會影響所有符合表達式的 key,包含你已經更名過的 key。建議先確認匹配範圍,或改用一對一更名。

Sort Node
Type:預設為 Simple(依欄位升/降序);Random 可打亂 Item 順序;Code 可自訂 JavaScript 比較邏輯。
點擊 Field To Sort By 新增排序欄位。
Field Name:輸入欄位名稱(如
amount)。支援 Dot Notation(如user.amount)排序巢狀欄位。Order:選擇
Ascending(小到大,預設)或Descending(大到小)。可新增多個 Sort Field 以實現多欄位排序(先按第一欄,再按第二欄)。
NOTE
Sort 預設會將值轉成字串比較,可能導致數字排序錯誤(例如
"10"會排在"2"前面)。若欄位是數字,建議先在 Edit Fields 轉成數字類型,或使用 Code 模式自訂比較邏輯。
專業操作 (Action)
Step 1: 欄位標準化與排序
我們來玩點真實的。假設你有一組原始資料包含 u_name, u_amount, u_date。
- 利用 Rename Keys Node 將欄位改為更通用的
name,amount,date。 - 使用 Sort Node 針對
amount進行降序排列(由大到小)。 - 接上 Edit Fields (Set) Node,新增一個名為
is_vip的布林值欄位,只要amount > 500就標註為 true。
實戰挑戰 (Challenge)
- 批次更名練習:模擬一個擁有 10 個混亂欄位名稱的資料結構,嘗試使用 Rename Keys 一次全部轉換為標準格式。
- 多重排序實驗:嘗試先按
category排序,再按amount排序,觀察 n8n 處理多重 Sort 的邏輯。 - 條件標籤化:在 Edit Fields 中練習更複雜的 Expression,例如根據城市 (
city) 自動分配區域 (region) 欄位。
TIP
當你發現工作流中有很多 Edit Fields (Set) 時,可以檢查一下是否有機會用 Rename Keys 或一個 Code 節點來簡化邏輯,保持畫布整潔。
