2016-04-24 91 views
1

我嘗試發送以下內容NodeRED ..無法發送對象NodeRED

this.user= { 

     medName1: '', 
     medTime1: '' 
     }, 
     { 
     medName2: '', 
     medTime2: '' 
     }, 
     { 
     medName3: '', 
     medTime3: '' 
    }; 

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

寄存器()被調用後,我點擊「提交」按鈕。

問題是,無論何時我嘗試通過websocket連接發送this.user到NodeRED,我都會在NodeRED中顯示[object Object]。我已經閱讀了與[對象對象]有關的答案,但他們都沒有解決這個問題。

我該如何解決這個問題?您的幫助將非常感激。

回答

0

如果您製作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); 
    }; 
+0

它不工作。索引0處的數組元素仍然轉換爲字符串[object Object] –

0

變化this.userArray這樣

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] obtenir第一個用戶。

然後您可以通過this.user[0].medName獲得第一個用戶的medName,這應該是string

如果您想將this.user轉換爲string,請嘗試Array toString Method

var userString = this.user.toString(); 

或者你也可以轉換成this.userjson

JSON.stringify(this.user) 
+0

它不起作用。索引爲0的數組元素仍然轉換爲字符串[object Object] –

+0

是的,您可以通過this.user [0] .medName獲取第一個用戶的medName,並且它將是一個字符串 –

+0

是的,this.user [ 0] .medName可以完成,但我想發送整個數組內容到NodeRED。 join()方法也將數組轉換爲[object Object],[object Object],[object Object]的形式。 –