【问题标题】:Accessing Json Object : Node-Red访问 Json 对象:Node-Red
【发布时间】:2017-04-04 20:49:37
【问题描述】:

我正在使用 Node-Red 来统计人数。为此,我设计了一个使用视觉识别节点成功检测人脸的流程。我已经从调试窗口附加了 Visual Recognition 节点的输出。

调试窗口输出:

msg : Object

  object
  _msgid: "dca9625c.8e531"
  topic: ""
     payload: buffer[117939]
     filename: "/usr/lib/node_modules/node-red/public/campi/image1.jpg"
     headers: object
     result: object
      images: array[1]
       0: object
         faces: array[3]
         image: "11734-1409-1shmx8t.yjcfu07ldi.jpg"
         images_processed: 1

我打算数面孔。

例如: 我通过以下命令统计了我的 SensorTag 的属性。

要计数:

 var count = {};
 count = Object.keys(msg.payload.d).length;
 return {payload:count};

传感器输出:

 msg.payload : Object
 object
  d: object
    myName: "ti-sensortag2"
    ambientTemp: "31.50"
    objectTemp: "25.41"
    humidity: "43.93988"
    pressure: "1017.73"
    altitude: "-0.08634908"

我收到了正确的答案。即在上述情况下为 6。

对于面部识别,我不知道如何提取所需信息。那是面的总数。您能否提供对此的见解?

问候,

哈姆扎

【问题讨论】:

  • 正如我在 slack 频道中提到的,找到一个关于使用 JSON 对象和数组的 javascript 教程并尝试一下。我们不会为你写这个,你必须先尝试
  • 啊,旧的“控制台输出图像”,但这次甚至不是屏幕截图,而是相机拍摄的屏幕照片 - 如果可以的话,您希望任何人提供帮助甚至不用担心输入任何内容
  • 我正在学习教程并正在研究它。我会尽快分享我的工作。
  • 我为这张照片道歉。我现在无法访问创建此流的 IP。当我可以访问节点红色流时,我将编辑帖子。
  • @hardillb 非常感谢您的建议。如果没有您的指导,我将不会了解 json 对象。非常感激!。我可以请你检查我的回答吗?

标签: javascript json node.js node-red


【解决方案1】:

在阅读了该论坛的文档后,我编写了以下内容以获取所需的结果。

 var count = {}; 

 count = Object.keys(msg.result.images[0].faces).length;

 return {payload:count};

输出:

msg : Object
object
 payload: 3
 _msgid: "dca9625c.8e531"

【讨论】:

  • 几乎不需要Object.keys(),因为faces 是一个数组,因此您可以直接查询它的长度:msg.result.images[0].faces.length
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-10-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多