Javascript строка в массив - PullRequest
       0

Javascript строка в массив

0 голосов
/ 16 января 2012

Я получаю переменную через ajax из php файла

Это данные для гистограммы Google

Когда я использую его для построения диаграммы - он не работает

Но те же данные работают нормально, когда я вставляю их напрямую

Вот пример:

$.get("./get_charts.php", function(data){
   //alert(data.daily) = [ ["12.10.2011", 2250],["07.12.2011", 100] ]
   drawChart('daily', 'number', 'Kgs', data.daily, 0);
}, "json"); 
}

function drawChart(ctype, col_type, col_name, cdata, baseline) 
{       
   var data = new google.visualization.DataTable();
    data.addColumn('string', 'Date');
    data.addColumn(col_type, col_name);
    //doesn't work
    data.addRows(cdata);
   //works fine
    data.addRows([ ["12.10.2011", 2250],["07.12.2011", 100] ]);
   ....
}

Полагаю, это потому, что эта переменная передается как строковое значение, а не как массив

Как конвертировать?

Ответы [ 2 ]

1 голос
/ 16 января 2012

Вы пробовали использовать функцию eval?

var result = eval(data);

или jquery имеет функцию parseJSON.

этот онлайн-анализатор использует оба способа, чтобы получить строку json в переменную:

http://json.parser.online.fr/

0 голосов
/ 16 января 2012

Убедитесь, что тип контента application / json

, затем используйте

$.getJSON("./get_charts.php", function(data){
   //alert(data.daily) = [ ["12.10.2011", 2250],["07.12.2011", 100] ]
   drawChart('daily', 'number', 'Kgs', data.daily, 0);
});

Если тип контента правильный, ваш код также должен работать.Если это будет строка, решение @ Richard будет работать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...