我的JSON看起来像
[{"target": "sumSeries(integral(org.example.fib.hi.value),integral(org.example.fib.hi1.value))",
"datapoints":
[
[2, 1359214560],
[3, 1359215040],
[4, 1359215050],
[null, 1359215060],
[null, 1359215070],
[5, 1359215080],
[7, 1359215090],
[9, 1359215100],
[10, 1359215110],
[null, 1359215120],
[10, 1359215130],
[14, 1359215140],
[null, 1359215150]
]}
]
我正在尝试从我的localhost获取此数据,并让highcharts呈现折线图。 我有类似的东西:
$(function() {
$.getJSON('http://localhost/render?target=sumSeries(integral(org.example.fib.*.value))&from=-10minutes&format=json', function(data) {
// Create the chart
window.chart = new Highcharts.StockChart({
chart : {
renderTo : 'container'
},
rangeSelector : {
selected : 1
},
plotOptions: {
series: {
stacking: 'normal'
}
},
series : [{
name : 'AAPL',
data : data,
tooltip: {
yDecimals: 2
}
}]
});
});
});
我如何解析这些数据?
答案 0 :(得分:0)
我假设您使用时间戳(作为JSON中的第二个参数),因此应该解析数据以显示为datetime。如果是,则应以JSON格式还原数据参数,并将时间戳乘以1000(javascript时间戳格式)。解析示例:
var tmpdata = [],
i = 0,
len = data[0].datapoints.length;
for(i=0;i<len;i++)
{
tmpdata[i] = [data[0].datapoints[i][1]*1000,data[0].datapoints[i][0]];
}
然后是系列数据:
series : [{
name : 'AAPL',
data : tmpdata,
tooltip: {
yDecimals: 2
}
}]