将 Node-Red String 转换为负载名称

Node-Red String into payload name

我的数组有效载荷是这样的:msg.payload[index].temp。我将数组分成单个部分以通过 MQTT 发布数组的单个部分。

所以我得到了 msg.payload.tempmsg.parts.index

msg:{
       payload:{
                    address: "e4:32:a3:3a:99:97";
                    temp: "32"
                }
         parts: {
                   type: "array";
                   index: "16";
                   count: "17";
                }
}

是否可以将索引号放入名称中msg.payload.temp?所以我得到了类似 msg.payload.temp_6 的东西。我尝试将字符串组合在一起,例如:

var temp = "msg.payload.temp_" + msg.parts.index.toString();
temp = payload.temp;
return msg;

我是否需要从字符串到 json 的对话以便 Node-Red 检测到 属性?

您可以将 属性 添加到 msg.payload。

let index = 6;
msg.payload["temp"+index] = 'Whatever';

这将作为

提供
console.log(msg.payload.temp6); // Whatever