最近我在玩 websocket,效果很好,
在带有 onmessage(evt) 函数的客户端,我从服务器端收到一条消息, 该消息实际上是这样的 JSON 格式:
{"Properties":{"name":"0a67d327-1f78-475e-b58a-d16706782223","publicname":"Page1"}}
然后在客户端(带有 javascript 的 html5)我使用以下方法访问数据:
var page=evt.data;
然后我访问 JSON 对象
document.getElementById('name').innerHTML=page.Properties.name;
但它就是行不通,我什至使用了 eval 函数,但它仍然行不通, 我确实使用 alert(page);检查了页面;
我想知道 evt.data 是不是一个字符串数据而是一个字节, 有人有将字节转换为字符串的解决方案吗? 或任何其他可能与此 evt.data 有关的解决方案
最佳答案
WebSocket 数据是字符串、Blob 或 ArrayBuffer。在您的情况下,它很可能是一个字符串,因此您需要先解析它:
var page = JSON.parse(evt.data);
console.log("Properties.name: " + page.Properties.name);
关于javascript - 将 evt.data 从 websocket 转换为 jSON 字符串或 Javascript 中的纯字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9785388/