使用电报机器人使用 Node Red 解析 JSON

Parsing JSON with Node Red with telegram bot

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

我想从电报中获取 return api 消息,然后解析它最终让它做一些事情,比如如果我发送它 "LED-ON" 命令或打开 led相似的。

目前我看到这种 JSON 格式。我想基本上从 JSON 对象中解析出内容字段来让 LED-ON。

{
  "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,我需要它是对象还是字符串?对不起,我只是编程的新手。

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

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

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

中的值所需要的全部

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

编辑:

所有节点(包括功能节点)都需要return一个对象。 msg.payload 通常应该保存来自节点的 "output",也不需要声明 msg 因为它已经在范围内,所以在你的例子中它应该是:

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

此外,您最好在 Node-RED Slack 团队(从 Node-RED 主页链接)中提出这样的问题,因为它可能需要一点来回,而 Stack Overflow 最不适合.