修改包含对象数组的有效载荷

问题描述 投票:0回答:1

刚想学习Node-Red,在处理消息方面很吃力。

我有一个查询mysql数据库的节点,并返回一个包含objects.payload数组的有效载荷。enter image description here

我想把这些值传给一个dashboard图节点. 然而我相信我需要传给它一个数组,形式为

payload: array[64]
[0...9]
 [0: 22.2]
   .
   .

等。

我试过一个函数--

var outmsg = [];
for (var w in msg)
{
   outmsg.push(w.Temperature);
}
return {payload: outmsg, topic: msg.length};

显然这是完全错误的做法......谁能帮帮我,请问?

ps. 对不起,如果这是一个重复的东西回答别的地方。我做了谷歌,但没有发现任何东西。

node-red
1个回答
1
投票

最好的做法是不要重新创建消息,但如果可能的话,要把输入的消息传递出去,所以下面的做法比较好。

for (var i in msg.payload) {
    msg.payload[i] = msg.payload[i].time
}
return msg;

0
投票

经过一番周折,我找到了答案... ...

var inmsg = {payload: msg.payload};
var outmsg = [];
for (var w in inmsg.payload)
{
  outmsg.push(inmsg.payload[w].Temperature);
}
return {payload: outmsg, topic: inmsg.length};
© www.soinside.com 2019 - 2024. All rights reserved.