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

modifying a payload containing array of objects

只是想学习 Node-Red,并在处理消息方面遇到困难。

我有一个查询 mysql 数据库和 returns 包含对象数组的有效负载的节点。 有效载荷:

我想将值传递给仪表板图形节点。 但是我相信我需要以

的形式向它传递一个数组
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。抱歉,如果这是在其他地方回答的内容的重复。我做了 google,但一无所获。

折腾了半天终于找到答案了...

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};

最好不要重新创建消息,而是尽可能传递输入消息,因此以下内容更好:

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