Node-Red - JSON解析不起作用

时间:2016-09-03 18:46:20

标签: json parsing node-red

我通过MQTT从物联网中提取数据。我在解析数据时遇到问题,并且能够在单独的变量中查看数据的每个部分。

Node-Red Flow

这是调试的给定输出:

{"payload":"Gc4FaAAAFwBoAA==","port":223,"counter":4527,"dev_eui":"00DEAD00BEEF0002","metadata":
[{"frequency":902.3,"datarate":"SF10BW125","codingrate":"4/5","gateway_timestamp":1299905004,"channel":0,"server_time":"2016-09-

03T18:40:46.106713105Z","rssi":-31,"lsnr":12.3,"rfchain":0,"crc":1,"modulation":
"LORA","gateway_eui":"1234567887654321","altitude":0,"longitude":0,"latitude":0}
]} 

解析json中的代码:

var data = JSON.parse(msg.payload);
msg.payload={};
msg.payload = data.metadata.rssi;
msg.payload = data.payload;
msg.payload = data.payload.split(1,3);

return msg;

1 个答案:

答案 0 :(得分:0)

首先,不要在函数节点中将字符串转换为JSON,还有一个特定的预安装标准节点(名为JSON节点,这会将字符串转换为JSON或JSON,根据输入将stings转换为)托盘将为你做到这一点。

其次,您将msg.payload设置为3次,这样您才能获得最后一部分。

第三,data.metadata是一个数组,因此您需要指定要访问的数组中的哪个条目,例如data.metatdata[0].rssi

您没有连接到功能输出,所以您期望输出什么?