如何仅选择某些JSON密钥

时间:2013-03-21 03:52:50

标签: javascript json

从Web Socket调用,我会将不同的JSON格式作为响应显示在下面

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

第一个JSON

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

]

第二个JSON

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

]

我正在尝试调试并希望看到我得到的响应,所以我想只打印具有“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”键。

1 个答案:

答案 0 :(得分: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"

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