2013-07-02 91 views
0

我對JSON有點新,但是這裏有。我正在使用谷歌圖表,並試圖找出如何使用JavaScript對json_encode進行排序。通過JSON值排序?

格式谷歌圖表預計是:

data.addRow([new Date(2008,0,1),0,0,0,3,0,0]); 

我json_encode的樣子:

[[new Date(2008,0,1),0,0,0,3,0,0],[new Date(2008,0,1),0,0,0,1,0,0],[new Date(2008,0,1),0,0,1,0,0,0],[new Date(2008,0,1),0,2,0,0,0,0],[new Date(2008,0,1),42,0,0,0,0,0],[new Date(2008,0,1),20,0,0,0,0,0]] 

我基本上是這樣的編碼它(PHP端)並返回$通過AJAX調用導致:

$test = json_encode($charts_count_history, JSON_NUMERIC_CHECK); 
$result = str_replace(array('\'', '"'), '', $test); 

jsonData是存儲json_encode的變量(字符串?數組?不確定wha噸打電話給這個)。我的問題是我怎麼能通過jsonData排序和(例如)提醒每個值?也許像下面的東西?

for(//Not sure what would go here) 
{ 
alert(jsonData[0][0]); 
} 

我知道我可能應該這樣做,所以任何幫助表示讚賞!

+1

無關,與JSON(JSON僅僅是*文本*;它是在JavaScript中處理數據*時的JavaScript對象)。無論如何,試圖找到有用的搜索結果的措辭是[「JavaScript中的自定義排序」](http://stackoverflow.com/search?q=%5Bjavascript%5D+custom+sort)或類似的。 – user2246674

+1

此外,[迭代](http://en.wikipedia.org/wiki/Iteration)!= [排序](https://en.wikipedia.org/wiki/Sorting_algorithm)。如果需要排序,*定義排序規則*很重要。 – user2246674

+0

好的呼籲迭代與排序,術語是我絕對可以改進的一件事。 –

回答

0

當您將數據編碼爲JSON時,它的類型是一個字符串。另外要注意,當你構建JSON:

[[new Date(2008,0,1),0,0,0,3,0,0],[new Date(2008,0,1),0,0,0,1,0,0],[new Date(2008,0,1),0,0,1,0,0,0],[new Date(2008,0,1),0,2,0,0,0,0],[new Date(2008,0,1),42,0,0,0,0,0],[new Date(2008,0,1),20,0,0,0,0,0]] 

應該

[new Date(), new Date(), ... , new Date()] 

要遍歷JavaScript中的上述JSON:

for(var i = 0; i < jsonData.length; i++) { 
    alert(json[i]); 
} 
+1

提供的JSON很好。雖然我不知道*其他值是什麼意思,它是如何編碼並由PHP返回的。返回看起來更好看的JSON可能是明智的,但這是另一個問題。 – user2246674