0

从 Web Socket 调用中,我将收到不同的 JSON 格式作为响应,如下所示

一个以“AS”开头 另一个以“SD”开头

第一个 JSON

[
    [
        "AS",
        "POWER",
        "SMLL"
    ],
    [
        "AS",
        "SART",
        "SDF"
    ]

]

第二个 JSON

[
    [
        "SD",
        "R",
        "DSL"
    ],
    [
        "SD",
        "R",
        "DSL"
    ]

]

我正在尝试调试并想看看我得到了什么 Response ,所以我只想打印具有“AS”的键(上面显示的第一个 JSON)

这是我的 WebSocket HTML 程序

function testWebSocket() 
{
websocket = new WebSocket(wsUri); 
websocket.onopen = function(evt) { onOpen(evt) };
websocket.onclose = function(evt) { onClose(evt) };
websocket.onmessage = function(evt) { onMessage(evt) };
websocket.onerror = function(evt) { onError(evt) };
}




function onMessage(evt)
{

evt.data[1]

    writeToScreen('<span style="color: blue;">' + evt.data+'</span>');

}

请让我知道如何设置一个条件,以便它只打印“AS”键。

4

1 回答 1

0

在从套接字返回的数据上运行:

//somehow assign the result of the socket to theData
goodData=new Array();
parsed=JSON.parse(theData);
for(i=0;i<parsed.length;i++){
    if(parsed[i][0]=='AS')
        goodata.push(parsed[i])
}
stringifiedData=JSON.stringify(goodData);
//now, stringifiedData is a string containing only the values starting with "AS"

这未经测试,因此请在评论中告诉我它是否不起作用。

于 2013-03-21T04:15:40.947 回答