首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Json -节点-RED提取

Json -节点-RED提取
EN

Stack Overflow用户
提问于 2016-08-08 20:56:35
回答 1查看 3K关注 0票数 1

菜鸟寻求帮助..。

我有一个JSON数据流,看起来像这样。

代码语言:javascript
复制
{
  "header" : {
    "content" : "telegram",
    "gateway" : "EN-GW",
    "timestamp" : "2016-08-08T13:45:47.032+0100"
  },
  "telegram" : {
    "deviceId" : "01864892",
    "friendlyId" : "Boardroom-CO2-Sensor",
    "timestamp" : "2016-08-08T13:45:47.032+0100",
    "direction" : "from",
    "functions" : [ {
      "key" : "humidity",
      "value" : 39.00,
      "unit" : "%"
    }, {
      "key" : "concentration",
      "value" : 830.00,
      "unit" : "ppm"
    } ],
    "telegramInfo" : {
      "data" : "4E53820E",
      "status" : "0",
      "dbm" : -67,
      "rorg" : "A5"
    }
  }
}

在Node-RED中,我有一个函数节点,看起来像这样…

代码语言:javascript
复制
return [msg.payload.telegram.functions];

它返回这些

代码语言:javascript
复制
{ "key": "concentration", "value": 830, "unit": "ppm", "_msgid": "ff5b0f47.00a4f" }

{ "key": "humidity", "value": 39, "unit": "%", "_msgid": "ff5b0f47.00a4f" }

{ "key": "temperature", "value": 26.6, "unit": "°C", "_msgid": "ef2d6de7.10d29" }

从这些值中,我想从每个值中获得一个值,例如用于集中的830。然后让它根据我在具有两个输出的节点中设置的阈值进行检查。例如,如果大于1000个输出1,则小于1000个输出2。

我试图在Node-RED中实现的目标有可能实现吗?

抱歉,对于可能的菜鸟问题,任何帮助都将不胜感激。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-08-08 21:11:20

问题可能是您没有返回格式正确的消息对象。虽然您从函数返回的是一个JSON对象,但它不符合Node-RED约定。

如果您希望其他节点能够轻松处理,则从函数节点返回的任何内容都应该有一个有效负载字段。

因此,如果您将return更改为如下所示:

代码语言:javascript
复制
return { payload: msg.payload.telegram.functions }

然后,下游节点将知道在msg.payload中查找消息的有用内容。

至于比较消息中的键来设置值和输出不同的值,这是相对简单的。在一个新的功能节点中,你可以这样做:

代码语言:javascript
复制
//check concentration exists
for (var i=0;i<msg.payload.length; i++) {
    if (msg.payload[i].concentration) {
       //more than 1000
       if (msg.payload.conentration >= 1000) {
           return {payload: 1};
       //less than 1000
       } else {
           return {payload: 0};
       }
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38829829

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档