2016-06-07 64 views
0

我想将JSON字符串循环到我的系列数据中。但是,我似乎没有获取数据。我究竟做错了什么?Highcharts:将JSON串联到系列数据中

for (var i = 0; i < jsonStrng.lowUsage.length; i++) { 
    options.series[0].data = jsonStrng.healthy[i]; 
    chart = new Highcharts.Chart(options); 
}; 

for (var j = 0; j < jsonStrng.healthy.length; j++) { 
    options.series[1].data = jsonStrng.lowUsage[j]; 
    chart = new Highcharts.Chart(options); 
}; 

for (var k = 0; k < jsonStrng.terrible.length; k++) { 
    options.series[2].data = jsonStrng.terrible[k]; 
    chart = new Highcharts.Chart(options); 
}; 

for (var ii = 0; ii < jsonStrng.buggy.length; ii++) { 
    options.series[3].data = jsonStrng.buggy[ii]; 
    chart = new Highcharts.Chart(options); 
}; 

这里是JSFiddle

+1

教育点,你执行这一行后:'var jsonStrng = JSON.parse(str);'你不再处理JSON。你有一个内部有几个数组的对象。 –

+1

我看着你的小提琴 - 你所有的JavaScript都在一个函数DeviceHealthDeploymentUtilization中,这个函数实际上并没有在任何地方被调用。 –

+0

在java方面其实有一个原因。它需要命名的功能。 – jacturne

回答

1

执行像下面的代码:

创建一个数组并与数据填充它而循环到JSON array.Finally分配series.data对该数组

var healthyData = []; 
for (var i = 0; i < jsonStrng.lowUsage.length; i++) { 
healthyData.push(jsonStrng.healthy[i]); 
} 
options.series[0].data = healthyData; 

对于所有的3系列数据都做这件事,直到所有系列都充满数据后才调用图表功能。上一次系列调用后功能

chart = new Highcharts.Chart(options); 

如果你分享你的json数据,我会更新你的小提琴使它工作。

+0

谢谢西斯!我会尝试一下,让你知道它是如何发生的。 – jacturne

+1

你是男人!它像一个魅力。 – jacturne