节点红色崩溃/JSON输出有时会返回html

Node-red crash / JSON output sometimes returns html

本文关键字:返回 html 输出 红色 崩溃 JSON 节点      更新时间:2023-09-26

我的节点red每天崩溃多次。我认为其中一个问题可能是我正在进行的http请求造成的。

我请求输出JSON格式的网页。但有时我会在日志中看到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

我可以编辑我的函数来过滤掉它吗,希望不再崩溃节点红色?

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

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

return [msg1];

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

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

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

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

然后调用CCD_ 5。