2015-09-18 5 views
0

У меня есть круговая диаграмма Highcharts, в которой используется вызов Ajax для извлечения данных в формате JSONArray. Мне нужно разделить данные всех ("") и сделать объект Javascript, но я столкнулся с трудностями. JSON.Parse() выдает ошибку, потому что говорит, что данные уже разобраны.Критерий диаграммы диаграммы поврежден

Как я могу получить эти данные в правильном формате для круговой диаграммы?

Вызов

function getData() { 
    $.ajax({ 
     url: '/data/pie_chart.jsp', 
     cache: true, 
     datatype: 'json', 
     error: function() { }, 
     success: function (data, status, rsp) { 
      alert(data); 
      setPieData(data); 
     } 
    }); 
} 

данных

[{"name":"Dual","load":"20"},{"name":"Gas","load":"35"},{"name":"Other_Fossil_Fuels","load":"15"},{"name":"Nuclear","load":"12"},{"name":"Hydro","load":"8"},{"name":"Wind","load":"10"},{"name":"Other_Renewables","load":"10"}] 
+0

[это] (http://stackoverflow.com/a/7432462/3281415) ответ – SerCrAsH

ответ

3

ваш JSON должен возвращать строку для имени и номера у. Однако в качестве временного решения для разбора строки на номер следующим образом

var dataPie =[]; 
var abc =[{"name":"Dual","load":"20"},{"name":"Gas","load":"35"}, 
{"name":"Other_Fossil_Fuels","load":"15"}, 
{"name":"Nuclear","load":"12"},{"name":"Hydro","load":"8"},{"name":"Wind","load":"10"}, 
{"name":"Other_Renewables","load":"10"}]; 

$.each(abc,function(i,el) 
{ 
    dataPie.push({name :el.name,y: parseFloat(el.load)}); 

}); 

Смотрите Проверить Working fiddle with your json

+0

Лучше использует parseFloat () –

+1

Согласитесь с @SebastianBochan, необходимо использовать parseFloat() –

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