首页 > 解决方案 > 节点红色。从对象数组中获取项目

问题描述

我正在使用 node-red 程序,我使用一个 OPCUA 节点,它在有效负载中返回一个对象数组。

在此处输入图像描述

我需要获取对象的一些变量,例如item的nodeId;我尝试使用下一种格式:

var newMsg = { payload: msg.payload[0].item.nodeId };
return newMsg;

但它不起作用。我可以看到错误“错误:NodeId 中的无效标识符类型:2”我尝试了很多格式,但我没有找到正确的方法。

你知道我怎样才能得到对象数组的数据吗?

谢谢。

标签: javascriptarraysnode.jsnode-red

解决方案


使用较新版本的 Node-RED(v0.19 iirc 之后),您可以通过将鼠标悬停并单击弹出的选项从调试侧边栏中获取值的路径。

在此处输入图像描述

图标将>_路径复制到对象(相对于调试节点中的选择,因此通常是msg.payload)。在示例payload[0].foo中。

这可以在功能节点中用作msg.payload[0].foo


推荐阅读