Javascript 访问消息体中的Json字段
我在控制器类中有以下行:Javascript 访问消息体中的Json字段,javascript,json,Javascript,Json,我在控制器类中有以下行: this.template.convertAndSend("/topic/greetings", message); 消息是一个数组列表。在jsp文件中,我打开一个套接字并订阅“主题/问候语”。我正在尝试访问控制器发送的消息正文中的字段: 所以我要这样做: var stompClient = null; var socket = new SockJS('/gs-guide-websocket'); stompClient = Stomp.over(
this.template.convertAndSend("/topic/greetings", message);
消息是一个数组列表。在jsp文件中,我打开一个套接字并订阅“主题/问候语”。我正在尝试访问控制器发送的消息正文中的字段:
所以我要这样做:
var stompClient = null;
var socket = new SockJS('/gs-guide-websocket');
stompClient = Stomp.over(socket);
stompClient.connect({}, function(frame) {
stompClient.subscribe('/topic/greetings', function(message) {
console.log(message.body);
}
}
这将在浏览器控制台上打印以下行:
[
{
"_id":{
"timestamp":1487493075,
"machineIdentifier":1371548,
"processIdentifier":-28904,
"counter":16629528,
"date":1487493075000,
"time":1487493075000,
"timeSecond":1487493075
},
"name":"Alex",
"age":25
}
]
我想访问该对象的字段名。
message.body.name
打印未定义的内容。
我还尝试:
var obj = JSON.parse(message.body);
console.log(obj.name);
或
但它们都是未定义的
更新:
我看到了,但我的错误是:
var obj = message.body;
console.log(obj[0]);
而不是这个:
var obj = JSON.parse(message.body);
console.log(obj[0].name);
请注意,
message.body
是一个数组,因此请使用以下命令:
console.log(obj[0]["name"]);
console.log(obj[0].name)
让我知道这是否有效。谢谢@德尼萨哈克
console.log(obj[0]["name"]);