使用javascript直播JSON数据

问题描述 投票:0回答:1

我想使用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真的能够直播吗?如果没有,是否有一些库,或者我最好使用全新的解决方案?

最好的祝福

javascript json live-streaming
1个回答
1
投票

如果JSON解析器遇到星号,正如Unexpected token *所建议的那样,那么您的JSON格式不正确,因为它不是JSON中的有效字符(字符串之外)。

我建议检查收到的消息并直观地检查它是否是有效的JSON。就像是:

webSocket.onmessage = function(event) {
    console.log(event.data);
}

然后,您可以检查浏览器的开发人员控制台(通常是Mac上的Cmd-Shift-I或其他地方的F12)以查看您实际接收的内容。

© www.soinside.com 2019 - 2024. All rights reserved.