希望一切顺利。我在通过PHP设置JSON数组并将其推入Highcharts时遇到了一些麻烦。
目前我生成这样的数组:
$stack[] = array($commname => $countit);
$stack = json_encode($stack);
当我print_r数组时,我得到以下内容:
[{“原油”:69},{“天然气”:554},{“液体自然 气 “:152},{” 电源 “:40},{” 煤炭 “:10},{” 天气 “:21},{” 宏观经济 “:67},{” 其它 “:45},{” 价格” :50},{ “货运”:14},{ “预测”:16}]
然后我将数组传递给javascript,如下所示:
var stack = <?php echo json_encode( $stack ) ?>;
..然后将它传递到下面的highcharts数组中:
var text = {
chart: {
plotBackgroundColor: null,
plotBorderWidth: 1,//null,
plotShadow: false
},
title: {
text: 'Browser market shares at a specific website, 2014'
},
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: [{
type: 'pie',
name: 'Browser share',
data: [
]
}]
};
text.series[0].data.push(stack);
......但这不起作用。我认为我的数组“堆栈”没有准备好,因为highcharts希望它采用这种格式:[[“原油”,35],[“天然气”,45]等......]
关于我做错了什么的指示?谢谢!
-G。
答案 0 :(得分:1)
试试这个jQuery.parseJSON
jQuery.parseJSON()
var stack = <?php echo json_encode( $stack ) ?>;
stack = jQuery.parseJSON(stack);
答案 1 :(得分:0)
你有两种方法 - 将json形成这种形式:
{name:"Crude Oil", y:69}
答案 2 :(得分:0)
你应该像这样生成源数组:
$stack[] = array($commname, $countit);
或者像这样
$stack[] = array('name' => $commname, 'y' => $countit);