Javascript 节点将红色字符串转换为有效负载名称
我的数组负载类似于:Javascript 节点将红色字符串转换为有效负载名称,javascript,arrays,node.js,node-red,Javascript,Arrays,Node.js,Node Red,我的数组负载类似于:msg.payload[index].temp。我将阵列切割成单个部分,以便通过MQTT发布阵列的单个部分 所以我得到了msg.payload.temp和msg.parts.index msg:{ payload:{ address: "e4:32:a3:3a:99:97"; temp: "32" } parts: {
msg.payload[index].temp
。我将阵列切割成单个部分,以便通过MQTT发布阵列的单个部分
所以我得到了msg.payload.temp
和msg.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的对话,以便检测属性?您可以向msg.payload添加属性
let索引=6;
msg.payload[“temp”+index]=“无论什么”;
这将作为
console.log(msg.payload.temp6); // Whatever
您已经尝试过什么?尝试过var temp=“msg.payload.temp-”+msg.parts.index.toString(),但不起作用编辑问题以添加详细信息(显示您在函数节点中使用的所有代码),并解释您所说的“不起作用”是什么意思我想将索引号添加到我的有效负载的属性名称中。属性名称始终相同,但索引号始终在更改,因为在函数之前拆分的数组的大小随着时间的推移而增大。当我尝试将索引号“msg.parts.index”与“msg.payload.temp”组合到字符串节点时,red不接受该属性。也许我需要一个从字符串到json的对话?问题来了!