You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

n8n子工作流JSON节点无效JSON错误排查求助

n8n子工作流JSON节点无效JSON错误排查与解决方法

排查步骤

  • 检查JSON节点的上游输入数据:查看子工作流中JSON节点接收的上游(比如Apollo Scraper)返回内容,是否存在非标准JSON格式问题——比如多余的尾逗号、未闭合的双引号、未转义的特殊字符(换行、制表符)。可以在n8n节点的执行历史里复制输入内容,用JSON校验工具验证合法性。
  • 核对JSON节点的配置模式:确认节点是设为从JSON字符串解析还是生成JSON。如果是前者,上游必须输出标准JSON字符串;如果是后者,检查配置的字段是否有语法错误(比如字段名未加引号、值类型不匹配)。
  • 验证主-子工作流的数据传递:主工作流调用子工作流时,传递的参数可能携带破坏JSON结构的内容(比如HTML标签、未转义的&/<等符号),检查主工作流调用节点的输出item内容。
  • 孤立测试子工作流:单独运行子工作流,模拟Apollo Scraper的返回数据输入到JSON节点,看是否仍报错。如果模拟数据正常,说明问题出在主工作流数据传递或Apollo Scraper的实际返回结果上。

解决方法

  • 清洗上游非法数据:在JSON节点前添加Function或Set节点,对数据进行预处理。比如用Function节点编写代码清理特殊字符、转义非法内容:
    const rawData = $input.first().json;
    // 去除换行并转义特殊字符
    const cleanedJsonStr = JSON.stringify(rawData).replace(/[\n\t]/g, '').replace(/([\\"])/g, '\\$1');
    return [{ json: { processedData: cleanedJsonStr } }];
    
  • 修正JSON节点配置:根据上游数据类型切换节点模式——若上游是JS对象则用生成JSON,若为字符串则用从JSON字符串解析;检查配置的字段是否完整闭合,无语法疏漏。
  • 校验主工作流传递数据:在主工作流调用子工作流前,添加JSON校验逻辑(比如用Function节点执行JSON.parse(JSON.stringify(data)),捕获解析错误),确保传递的是标准JSON结构。

内容的提问来源于stack exchange,提问作者Langdon Hatton

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.12 20:22:07