【发布时间】:2020-12-04 18:14:22
【问题描述】:
我正在像这样从 WebSocket 接收消息
ws.onmessage = (e) => {
debugger
if (e.data.startsWith('MESSAGE'))
alert(JSON.stringify(e.data))
ImageReceived(e.data)
console.log(JSON.stringify(e.data))
}
但是,消息被正确接收,但我在从消息中提取我想要的内容时遇到了一些困难。 消息如下,我想从消息中提取这部分:
{"physicalPath":"E:\\NORMAL\\person.jpeg","status":"Normal","version":47,"issuer":"gmail.com","id":32631}
消息的结构如下
"MESSAGE
expires:1607105481567
destination:/queue/f@gil.com
_type:com.model.Image
priority:9
message-id:ID:LA99343812-1:1:1:1:20
persistent:true
timestamp:1607105445567
{"physicalPath":"E:\\NORMAL\\person.jpeg","status":"Normal","version":47,"issuer":"gmail.com","id":32631}"
【问题讨论】:
-
你可以试试
var data = e.data.match(/{[^}]*}/)[0]; -
非常感谢,这有效。但它导致了下一个问题:)。
-
如何提取单个属性,例如我只想获取physicalPath属性,你知道如何获取吗?
标签: javascript node.js json websocket