【问题标题】:Parsing JSON with Node Red with telegram bot使用电报机器人使用 Node Red 解析 JSON
【发布时间】:2018-02-18 01:38:47
【问题描述】:

我正在尝试让 JSON 与我已经创建的电报机器人一起工作。我可以让机器人在调试屏幕中从节点红色的电报中发送和接收消息。

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

目前我看到这种类型的 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,我需要它是对象还是字符串?对不起,我对编程很陌生。

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

【问题讨论】:

    标签: json node.js parsing node-red


    【解决方案1】:

    如果内容已经是 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 并不最适合。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-05-13
      • 2015-07-21
      • 2017-06-09
      • 2017-08-18
      • 2021-10-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多