2014-12-29 83 views
-1

我很難通過JSON響應進行解析。它的格式如下:通過JSON格式進行解析

{ 
"kind": "fusiontables#sqlresponse", 
"columns": [ 
"latitude", 
"longitude", 
"geometry", 
"ID", 
"type" 
], 
"rows": [ 
[ 
40.92866, 
-74.035957, 
"40.92866,-74.035957", 
"1", 
"large_red" 
],... 

這是有效的......我只是忽略了其餘部分。

這裏的問題,我想獲得所有的「ID」和「類型」,並把它放入一個數組。這是我已經試過:

var myData =$.getJSON('<JSON source URL is here>'); 
$(myData) , function(data) { 
var ticks6 =[] 
$.each(data, function (key, val) { 
var chartLabels= [val.ID, "" + val.type + ""]; 
ticks6.push(chartLabels ); 
}); 
}; 

我用這個代碼用不同格式的JSON,我無法弄清楚如何將其翻譯爲這種格式。我知道我在這裏,但我不知道下一步該去哪裏。

任何見解都會有幫助。

+0

JavaScript在最後沒有任何意義。 'myData'將是一個promise對象,'$(myData)'沒有意義,等等。 –

+0

@KevinB那麼,這就是我的問題。我真的不知道在這裏用來創建數組的語法。你能給我任何想法嗎? – jonmrich

+0

我寧願將你指向[documentation。](http://api.jquery.com),或[help site。](http://learn.jquery.com)關注接收和記錄將數據發送到您的控制檯,然後再擔心處理它。 –

回答

1

假設您研究出訪問數據,您可以使用.map解析該結構。

$.getJSON(url, function (data) { 
    var ticks6 = data.rows.map(function (row) { 
     return [row[0], row[4]]; 
    }); 
    console.log(ticks6); 
}); 

基本上,data.rows陣列已經在你想要的,只是,它比你要求更多信息的格式。我只是使用.map將其過濾爲只有您需要的信息。

+0

謝謝!這正是我所需要的,完美的工作,對不起,如果我的問題沒有完全清除,請欣賞你堅持與我。 – jonmrich