2013-03-21 3 views
0

От вызова Web сокета, то я Получать различные форматы JSON в качестве ответа, как showin нижеКак выбрать только некоторые JSON ключи

The One Начиная с «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» ключи только.

ответ

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" 

Это не тестируется, так скажите мне, если он не работает в комментарии.

Смежные вопросы