2017-02-19 42 views
1

的身體訪問Json的領域我有以下線在我的控制器類:在消息

this.template.convertAndSend("/topic/greetings", message); 

消息的ArrayList。在一個jsp文件中,我打開一個套接字並訂閱「topic/greetings」。我試圖訪問由控制器發送的郵件的正文現場:在瀏覽器的控制檯

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); 

console.log(obj["name"]); 

但他們都是不確定的。

UPDATE:

我看到link,但我的錯誤是想:

var obj = message.body; 
console.log(obj[0]); 

,而不是這一個:

var obj = JSON.parse(message.body); 
console.log(obj[0].name); 
+1

'console.log(obj [0] .name)'告訴我是否可以工作 –

+0

工作正常。謝謝。 @DenIsahac – user5621266

回答

1

請注意message.body是一個數組所以使用這個:

console.log(obj[0]["name"]);