【问题标题】:Highcharts Pie Chart data corruptedHighcharts饼图数据损坏
【发布时间】:2015-09-18 18:38:46
【问题描述】:

我有一个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"}]

【问题讨论】:

标签: javascript jquery ajax charts highcharts


【解决方案1】:

你的 json 应该返回 y 的名称和数量的字符串。但是解决方法是将字符串解析为数字,如下所示

 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

【讨论】:

  • 最好使用 parseFloat()
  • 同意@SebastianBochan,必须使用parseFloat()
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-11-29
相关资源
最近更新 更多