场景导入:别让脏数据毁了你的自动化流水线
兄弟们,做自动化最怕什么?不是流程跑不通,而是流程跑通了,结果全是垃圾数据。

笔者见过太多新手,API 接口拉回来的数据直接往飞书或者数据库里灌,结果发现:有的字段是 null,有的是 undefined,还有的干脆就是个空字符串 ""。这些脏数据一旦混进去,后续的数据分析、报表统计全是错的。
今天,N8N大学 就带你用最朴实无华的方法,把 If 节点这个“过滤器”用出花来,彻底解决脏数据的烦恼。
核心实操:三步构建数据清洗流水线
别看 If 节点界面简单,要精准识别 null、undefined 和空字符串,这里头的门道可不少。我们直接上干货。
第一步:模拟脏数据源(Test Data)
为了演示,我们在工作流里先加一个 Set 节点(或者叫 Manual 节点),手动制造几条“脏数据”。
请在 Value 栏目里,分别输入以下三种情况,注意大小写和符号:
- 字段 A:
null(注意:这是 N8N 的特殊数据类型,不是字符串) - 字段 B:
undefined(N8N 的空值状态) - 字段 C:
""(双引号代表空字符串)
这三种情况,就是我们要在后续步骤中无情踢出去的“垃圾”。
第二步:配置 If 节点(The Logic Core)
拖拽一个 If 节点连接在数据源后面。这里是重头戏,请瞪大眼睛看参数设置。
在 Conditions 配置中,我们要做的是“与(AND)”逻辑。我们需要判断数据既不是 null,也不是 undefined,也不是空字符串。
推荐使用 String 模式配合 Length 来判断,这是最稳妥的“万金油”方案:
- 第一组条件:选择你要清洗的字段(比如
data.fieldA)。 - 运算符选择:
String->Is Not Empty。
等等,你可能会问:这样能同时过滤掉 null 和 undefined 吗?
在 N8N 的逻辑里,Is Not Empty 是一个非常聪明的判断。它会自动把 null、undefined 以及 "" 都视作“空”。只要你的数据流里存在任意一种“空值”,这个条件就会判定为 False。
如果你非要较真,也可以用“高级写法”:
- 条件1:数据字段
Is Not Null - 条件2:数据字段
Is Not Empty
这样双管齐下,无论数据怎么妖,都能被拦截。
第三步:分流处理
If 节点有两个出口:
- True:接上你的数据库节点或 API 节点,这是干净数据。
- False:接上一个
No-Op节点或者简单的Set节点打个标签,标记为“无效数据”。
这样一来,你的主流程永远只处理高质量数据,安全感拉满。
避坑指南:为什么你的 If 节点不生效?
在 N8N 大学的教学案例中,90% 的新手都在这里翻过车。
坑点一:空格陷阱
有时候 API 返回的空字符串其实是带空格的 " "。如果你只用 Is Empty 判断,这种数据会溜过去。
解决方案: 在 If 节点之前,先加一个 Code 节点或者 Set 节点,用 JS 语法处理一下:
item.json.your_field = item.json.your_field?.trim();
这样先把首尾空格去掉,再进 If 节点判断,就能完美拦截。
坑点二:类型混淆
如果你的字段传进来是数字 0,它虽然是最小值,但不是空值。如果你的逻辑里包含了 != 0,就会误伤好人。
核心建议: 认准 Is Not Empty 这个选项,它是 N8N 封装好的针对 Null/Undefined/"" 的最佳实践。
FAQ 问答
Q1: If 节点过滤掉的脏数据,怎么统一记录下来?
A: 笔者建议将 If 节点的 False 出口,连接到一个 Edit Fields (Set) 节点,给数据加个字段标记为 status: "invalid",然后存入一个专门的错误日程表或者推送到通知群,方便后续排查数据源的问题。
Q2: 除了 If 节点,有没有更快的方法?
A: 有,但灵活性差一点。你可以在 HTTP Request 或者数据库节点的设置里,开启 Ignore 或 Filter 选项(视具体节点而定)。但论通用性和逻辑清晰度,还是 If 节点最稳。
Q3: 为什么有些数据明明看起来是空的,If 节点却判定为 True?
A: 这通常是因为数据类型不匹配。比如你拿到的是 Object 对象 {} 或者 Array 数组 []。在 N8N 逻辑里,它们通常不被视为“空字符串”。你需要针对这种情况单独加条件判断。
总结与资源
数据清洗是自动化工作流中最枯燥但价值最高的环节。用好 If 节点,就像给你的流水线装上了精密的筛子。
N8N大学 的建议是:**不要相信任何外部数据源**,永远先清洗,再处理。如果你在实战中遇到了奇怪的 Null 值报错,欢迎回到社区搜索更多实战案例。