2013-07-02 5 views
0

Я немного новичок в JSON, но здесь идет. Я использую Google Charts и пытаюсь выяснить, как сортировать json_encode с помощью javascript.Сортировка значений JSON?

Формат Google Charts ожидает это:

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 (массив строк?) Не уверен, что t, чтобы назвать это). Мой вопрос: как я могу сортировать jsonData и (например) предупреждать каждое значение? Может быть, что-то вроде ниже?

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

Я знаю, что я, вероятно, не знаю, как я должен это делать, поэтому любая помощь приветствуется!

+1

Ничего делать с JSON (JSON только * text *; это объекты 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()] 

Переберите вышеприведенном JSON в JavaScript:

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

Представлен JSON в порядке. Хотя я не знаю, что означает, что другие значения означают, что он был закодирован и возвращен PHP. Возможно, было бы лучше вернуть JSON лучше, но это еще одна проблема. – user2246674

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