0

Web ソケット呼び出しから、以下に示すように、応答としてさまざまな JSON 形式を受け取ります

「AS」から始まるもの 「SD」から始まるもの

最初の JSON

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

]

2 番目の 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 に答える