2013-10-04 146 views
1

值我使用JSON是新的,我有麻煩從解析的JSON對象中提取數據:分離JSON對象

我有回送從一個MySQL查詢JSON編碼結果的getstats.php文件。這裏是一個php文件返回的例子:

[{「x」:「0」,「label」:「July」,「y」:「23」},{「x」:「 1" , 「標籤」: 「八」, 「Y」: 「58」},{ 「×」: 「2」, 「標籤」: 「九月」, 「Y」: 「78」},{ 「×」 : 「3」, 「標籤」: 「十月」, 「Y」: 「77」}]

這是通過一個Ajax查詢在一個單獨的JavaScript文件夾:

到目前爲止那麼好,我可以單獨訪問每個值(data[2].month == 'September' ...)

我要拆分的變量data這樣我就可以使用這些值到海軍報圖,所以我需要的東西,如:

var dataset = [[0,23],[1,58],[2,78],[3,77]]; 
var xlabel = [[0,'July'],[1,'August'],[2,'September'],[3,'October']]; 

我想不出一個簡單的方法來做到這一點(我的意思是沒有做通過data循環並逐個將值提取到新數組中)。

+0

解析JSON只是一個普通的JavaScript對象。沒有額外的魔法可以用它做。 – siledh

回答

1

除非你重組你的JSON來表示這兩個數組,我沒有看到不同的方式。無論你是循環使用還是使用某個庫的輔助方法或自己的代碼,都必須遍歷它。

所以這樣說你的數據JSON可能有兩個屬性稱爲PropAPropB和這兩個屬性將有你需要的正是你的datasetxlabel陣列。因此,您不需要遍歷數據,而只需執行以下操作:

dataset = data.PropA 
xlabel= data.PropB 
+0

+1同意,最好的解決方案將返回您正在尋找的格式的數據 –

+0

我是如此專注於JavaScript我完全沒有想到改變JSON格式......謝謝! – Fredovsky