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

将Pipedream Workflow集成到Node.js时遇JSON解析错误求助

解决Pipedream集成Node.js时的JSON解析错误

问题根源

你遇到的错误是因为Pipedream返回的是HTML内容(而非预期的JSON),导致Node.js尝试解析非JSON数据时抛出语法错误。

解决步骤

1. 修正Pipedream Workflow的输出格式

打开你的Pipedream Workflow,确保最后一步用$respond()明确返回JSON格式数据,而不是默认的HTML响应。示例代码:

// Pipedream步骤中返回JSON的正确写法
$respond({
  status: 200,
  headers: { "Content-Type": "application/json" },
  body: { listData: 你从Microsoft Graph获取到的数据 }
});

如果之前只是直接返回数据或用console.log(),Pipedream会默认生成包含执行结果的HTML页面,这就是你拿到<p><b>Succ"...的原因。

2. 验证Pipedream Endpoint的返回内容

复制Pipedream Workflow的触发URL,直接在浏览器或调试工具中访问,确认返回的是纯JSON字符串。如果返回HTML,说明第一步的输出设置未生效,需要重新调整。

3. 优化Node.js的请求处理逻辑

在Node.js代码中,先检查响应的Content-Type头,确认是JSON后再解析,避免直接触发错误。示例代码(以node-fetch为例):

const fetch = require('node-fetch');

async function fetchListData() {
  const pipedreamUrl = '你的Pipedream Workflow触发URL';
  const response = await fetch(pipedreamUrl);

  // 先校验响应类型
  const contentType = response.headers.get('Content-Type');
  if (!contentType || !contentType.includes('application/json')) {
    const htmlContent = await response.text();
    console.error('错误:返回内容不是JSON,而是HTML:', htmlContent);
    return;
  }

  // 解析JSON数据
  const data = await response.json();
  console.log('成功获取数据:', data);
}

fetchListData();

4. 排查Pipedream Workflow的执行日志

如果以上步骤都没问题,去Pipedream的Workflow日志页面,检查每一步的执行状态,确认从Microsoft Graph拉取数据的步骤是否成功,数据是否正确传递到输出步骤。

内容的提问来源于stack exchange,提问作者Silvan Leemann

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 02:52:15