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

Node-RED file-out节点保存JSON字符串时报TypeError问题求助

解决Node-RED File-Out节点抛出TypeError: this is not a typed array的问题

嘿,这个报错我太熟悉了!本质原因是你传给File-Out节点的数据类型不对——HTTP In节点接收的JSON是对象类型,但File-Out节点需要的是字符串或者Buffer格式的数据,直接传JSON对象就会触发这个类型错误。

下面是具体的解决步骤:

  • 第一步:转换JSON对象为字符串
    在HTTP In节点和File-Out节点之间,添加一个Function节点(或者Change节点)来处理数据:

    • 如果用Function节点,粘贴这段代码:
      // 将JSON对象转为格式化的字符串,方便日志阅读
      msg.payload = JSON.stringify(msg.payload, null, 2);
      // 可选:加上时间戳让日志更清晰
      // msg.payload = `${new Date().toISOString()}: ${JSON.stringify(msg.payload, null, 2)}\n`;
      return msg;
      
    • 如果用Change节点,选择设置msg.payload,然后使用JSONata表达式:
      $stringify($payload, "  ")
      
  • 第二步:确认File-Out节点配置
    你原本的配置(追加到文件、自动创建目录)是完全没问题的,不需要修改,只要确保它接收的是转换后的字符串即可。

这样处理后,File-Out节点就能正确把JSON日志追加到文件里,不会再抛出类型错误了。

内容的提问来源于stack exchange,提问作者Patrick Weber

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 04:14:15