繁体   English   中英

将JSON字符串加载到highcharts的饼图中

[英]Loading JSON string into a pie chart in highcharts

我需要将我的json字符串输出包含到highcharts --pie图表类别中,但图表无法正确加载

这是我的JSON字符串

var json = {"{\"name\":\"BillToMobile\"}":{"y":2.35},"{\"name\":\"Telenav\"}":{"y":13.59}}


Highcharts.chart('container', {
    chart: {
        plotBackgroundColor: null,
        plotBorderWidth: null,
        plotShadow: false,
        type: 'pie'
    },
    title: {
        text: ''
    },
    tooltip: {
        pointFormat: '{series.name}: <b>{point.percentage:.1f}%</b>'
    },
    plotOptions: {
        pie: {
            allowPointSelect: true,
            cursor: 'pointer',
            dataLabels: {
                enabled: true,
                format: '<b>{point.name}</b>: {point.percentage:.1f} %',
                style: {
                    color: (Highcharts.theme && Highcharts.theme.contrastTextColor) || 'black'
                }
            }
        }
    },
    series: [{
        name: 'Brands',
        colorByPoint: true,
        data: json
    }]
});

下图是加载此jsonstring时得到的图表。 任何人都可以帮助我,因为我是新手。谢谢。

这是图表错误输出

尝试以这种方式格式化json

var json = [{name: "BillToMobile", y: 2.35}, {name: "Telenav", y: 13.59}]

要转换您拥有的json,可以使用以下命令:

ES5或更早版本

var properJson = [];
for (var i in json) {
   var item = JSON.parse(i);
   for (var j in json[i]) {
      item[j] = json[i][j];
   }
   properJson.push(item);
}

ES6

var properJson = [];
for (var i in json) {
   var item = JSON.parse(i);
   Object.assign(item, json[i]);
   properJson.push(item);
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM