0

我的 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]
    ]}
]

我正在尝试从我的本地主机中获取这些数据并让 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
            }
        }]
    });
});

});

如何解析这些数据?

4

1 回答 1

0

我假设您使用时间戳(作为 JSON 中的第二个参数),因此应该解析数据以显示为日期时间。如果是,您应该在 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
        }
    }]
于 2013-01-31T09:55:29.807 回答