使用Node Red解析带有Node Red的JSON

时间:2017-09-09 07:17:56

标签: json node.js parsing node-red

我正在努力让JSON使用我已创建的电报机器人。我可以通过Node Red中的电报在调试屏幕中发送和接收消息。

我想从电报中获取返回api消息,然后将其解析出来,如果我发送“LED-ON”命令或类似命令,最终会让它执行某些操作。

目前我看到这种类型的JSON格式。我想基本上从JSON对象解析内容字段以使我开启LED。

{
  "chatId":64XXXXX7,
  "messageId":337,
  "type":"message",
  "content":"LED-ON",
  "date":"2017-09-09T07:07:38.000Z",
  "inbound":true
}

我使用了JSON节点但是从调试它只将消息从json对象更改为json字符串。但我还是无法解析LED-ON。

此外,如果我将LED-ON过滤并将其发送到拆分节点以生成MQTT消息以转动LED,我是否需要它作为对象或字符串?对不起,我对编程很新。

如果它没有意义,我可以分享流量。

1 个答案:

答案 0 :(得分:0)

如果内容已经是JSON对象,则不需要JSON节点。

我不知道为什么你需要一个拆分节点,一个交换节点或一个功能节点应该只是测试msg.payload.content

中的值所需的一切

MQTT节点将始终在发布之前将任何出站msg.payload转换为字符串。

编辑:

所有节点(包括函数节点)都需要返回一个对象。 msg.payload通常应该保存一个节点的“输出”,也不需要声明msg因为它已经在范围内,所以在你的例子中它应该是:

msg.payload = msg.payload.content;
return msg;

此外,您可以在Node-RED Slack团队(从Node-RED主页链接)上更好地提出这样的问题,因为它可能需要一些来回,Stack Overflow最不适合。< / p>