无法将对象发送到 NodeRED

Unable to send object to NodeRED

本文关键字:NodeRED 对象      更新时间:2023-09-26

我正在尝试将以下内容发送到NodeRED。

this.user= {
         medName1: '',
         medTime1: ''
         },
         {
         medName2: '',
         medTime2: ''
         },
         {
         medName3: '',
         medTime3: ''
    };
    this.register = function() {
       console.log('User clicked register', this.user);
       $scope.sock.send(this.user);
    };

在我单击"提交"按钮后调用 register()。

问题是,每当我尝试通过websocket连接将this.user发送到NodeRED,我都会得到NodeRED中显示的[对象对象]。我已经阅读了与[对象对象]相关的答案,但没有一个可以解决这个问题。

我该如何解决此问题?您的帮助将不胜感激。

如果你把this.user做成一个数组怎么办?

this.user= [{
         medName1: '',
         medTime1: ''
         },
         {
         medName2: '',
         medTime2: ''
         },
         {
         medName3: '',
         medTime3: ''
         }
    ];
    this.register = function() {
       console.log('User clicked register', this.user);
       $scope.sock.send(this.user);
    };

这样将this.user更改为Array

this.user= [
         {
         medName: '',
         medTime: ''
         },
         {
         medName: '',
         medTime: ''
         },
         {
         medName: '',
         medTime: ''
         }
    ];
this.register = function() {
   console.log('User clicked register', this.user);
   $scope.sock.send(this.user);
};

您可以通过this.user[0]来阻止第一个用户。

然后你可以通过this.user[0].medName来控制第一个用户的medName,这应该是一个string

如果要将this.user转换为string,请尝试 数组到字符串 方法。

var userString = this.user.toString();

或者您可以将this.user转换为json

JSON.stringify(this.user)