Node.js json.Stringify函数不显示记录

时间:2019-02-04 09:22:27

标签: node.js

我正在使用nodejs聊天,并且一切正常。 当我运行console.log(res1);时 正在获得console.log响应,如下所示

{"name":"nancy", "message":"my chat message"}

现在,我想获取名称和消息参数的值,但按以下代码在控制台中显示未定义

console.log(res1.message);
console.log(res1[0].message);

这是代码

 socket.on('send message', function(data){
socket.emit('response message', data);


var res1 = JSON.stringify(data);
console.log(res1);
console.log(res1.message);
console.log(res1[0].message);
    });
});

2 个答案:

答案 0 :(得分:1)

使用JSON.stringify()时,它会将您的对象转换为字符串。因此,无法对JSON.stringify() ed变量进行对象操作。

在这里查看对象的用途,

var data = {"name":"nancy", "message":"my chat message"};

var res1 = JSON.stringify(data);

console.log("res1: ", res1); // String
console.log("data: ", data); // Object

console.log("res1 message: ", res1.message); // Manipulation on string - Wrong
console.log("data message: ", data.message); // Manipulation on object - Correct

希望这会有所帮助!

答案 1 :(得分:0)

您正在尝试从stringify对象获取消息。

var x = JSON.parse(res1);
console.log(x.message);