2017-04-13 107 views
1

我有[「消息」]等我的代碼遵循JSON對象返回undefined [的NodeJS,FS]

var lines = fs.readFileSync(chattxt, 'utf8'); 
    var lines = lines.split("\n"); 
    var maxlines = 10; 
    if (lines.length < 10) maxlines = lines.length-1; 

    for (var i = (lines.length - maxlines); i<(lines.length)-1; i++){ 
     socket.emit('message', { message: lines['message'] }); 
     console.log(lines['message']); 
    } 

但我是一個腳本,應該列出一些數據,而該對象通過VAR訪問不知道爲什麼它只是未定義日誌記錄到控制檯,該行的一個例子是

{"message":"<div>test</div>"} 

林很困惑,爲什麼它的輸出不確定

回答

0

據我瞭解過線不是一個JavaScript對象。它只是字符串。你需要轉換爲Javascript對象,如 -

for (var i = (lines.length - maxlines); i<(lines.length)-1; i++){ 
     var msg = JSON.parse(lines[i]); 
     socket.emit('message', { message: msg.message }); 
     console.log(msg); 
    } 
+0

Thankyou的幫助! –