我想使用javascript将使用JSON格式的遥测数据从websocket直播到浏览器。在服务器XXXX上使用本机c和端口8080上的websocketd包装器创建websocket。客户端(IP:YYYY)应通过端口80(https://X.X.X.X:80)上的https连接到同一服务器,并应接收javascript代码,告诉它从websocket中获取直播数据(ws:// XXXX:8080),并使用此流中的值刷新网站上的某些值。
数据可以示例如下:
{
"name of system": {
"RSSI": {
"rssi": "0",
"adc1": "0.00",
"adc2": "0.00",
"rxBatt": "0.00",
"swr": "0"
},
"ASS": {
"airspeed": "0.00"
}
}
}
{...}
and so on...
该帧应重复,例如在500毫秒的间隔内发送没有空格或换行符。
我尝试使用JSON.parse()解析它,但我的浏览器控制台返回以下错误:“Uncaught SyntaxError:Unexpected token *”或“Unexpected token {”。这是因为错误实现的JSON代码,虽然我多次检查过它?
我现在的问题是:JSON.parse真的能够直播吗?如果没有,是否有一些库,或者我最好使用全新的解决方案?
最好的祝福
如果JSON解析器遇到星号,正如Unexpected token *
所建议的那样,那么您的JSON格式不正确,因为它不是JSON中的有效字符(字符串之外)。
我建议检查收到的消息并直观地检查它是否是有效的JSON。就像是:
webSocket.onmessage = function(event) {
console.log(event.data);
}
然后,您可以检查浏览器的开发人员控制台(通常是Mac上的Cmd-Shift-I或其他地方的F12)以查看您实际接收的内容。