我正在使用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);
});
});
答案 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);