json 对象返回未定义 [nodejs, fs]

json object returning undefined [nodejs, fs]

我有一个脚本应该列出一些数据,这些数据是通过 var['messages'] 等访问的对象。我的代码如下

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']);
    }

但我不确定为什么它只是将 undefined 登录到控制台,这些行的一个例子是

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

我很困惑为什么输出未定义

据我所知,每一行都不是 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);
    }