Node-red 崩溃 / JSON 有时输出 returns html

Node-red crash / JSON output sometimes returns html

我的 node-red 每天崩溃多次。 我认为可能导致的问题之一是我正在执行的 http 请求。

我正在请求 JSON 中的网页输出。 但有时我在日志中看到 returns HTML 中的错误。 网页服务器端可能有问题,但我的流程在这方面出错了。

SyntaxError: undefined:1 <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> ^ Unexpected token <

2 Jan 15:26:26 - [error] [function:Filter temperatures] SyntaxError: undefined:1

我可以编辑我的函数以过滤掉它,并希望不再让 node-red 崩溃吗?

这是我用来解析 JSON 的函数示例。

datarequest = JSON.parse(msg.payload);
msg1 = {};
msg1.payload = datarequest.data.valvesetat.bypass;


return [msg1];

如果JSON周围的HTML没有{个字符,你可以试试:

msg.payload = msg.payload.replace(/^.*?(\{/{.*\}).*/, '');

在调用 JSON.parse.

之前

看起来网页返回的内容不是 JSON(我猜是某种错误)并且 JSON.parse() 无法解析它。

JSON.parse() 部分包含在 try/catch 块中并管理网页的响应。