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

时间:2016-01-02 15:37:32

标签: javascript json node-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];

2 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:0)

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

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

在致电JSON.parse之前。