【问题标题】:Node-Red. Get items from object array节点红色。从对象数组中获取项目
【发布时间】:2019-04-30 13:59:45
【问题描述】:

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

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

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

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

你知道如何获取对象数组的数据吗?

谢谢。

【问题讨论】:

  • Here 您可以看到如果identifierType 无效,则会引发此错误。但是由于您只想使用该程序,这很可能对您没有帮助。您可以尝试获取其他值和更早的级别,看看是否也不起作用。
  • 如果需要获取数组的值,下一个格式是否正确?
  • msg.payload[0].item.nodeId
  • 你用的是什么版本的node-red?

标签: javascript arrays node.js node-red


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 2022-11-01
    • 1970-01-01
    • 2022-11-26
    • 1970-01-01
    • 1970-01-01
    • 2016-10-23
    • 1970-01-01
    • 1970-01-01
    • 2016-01-22
    相关资源
    最近更新 更多