如何将json解析为highcharts

时间:2012-05-08 13:18:49

标签: javascript json highcharts

以下内容:

$.get('/api/ajax_prices/' + product +'/', afterEndexPricesLoaded)

返回一个json对象

{"aaData": [
    [1, "70.1700", "2008-12-29 11:23:00"],
    [2, "70.2600", "2008-12-29 16:22:00"],
    [3, "70.6500", "2008-12-30 11:30:00"],
    [4, "70.8700", "2008-12-30 16:10:00"],
    [5, "70.5500", "2009-01-02 11:09:00"],
    [6, "70.6400", "2009-01-02 16:15:00"]
]}

我正在尝试将json字符串解析为highchart

这是我尝试使用的代码(data = json string):

function afterPricesLoaded(data, textStatus, xhr) {

    var options = {
        chart: {
            renderTo: 'graph'
        },
        title: {
            text: 'Some text',
            style: {
                color: '#888888'
            }
        },
        xAxis: {
            type: 'datetime'
        }
        /*
        series: [{

            data: [
                [Date.UTC(2011, 0, 0), 29.9],
                [Date.UTC(2012, 0, 0), 71.5],
                [Date.UTC(2013, 0, 0), 106.4]
            ]}
        ]*/
    };

    new Highcharts.Chart(options)
}

如何将数据输入高图系列?

修改

Graphtype = http://www.highcharts.com/demo/line-basic
示例 = http://jsfiddle.net/kevink/9q4AT/

1 个答案:

答案 0 :(得分:6)

这是你要找的吗?

http://jsfiddle.net/TWF6N/349/

$(function () {

    data = {"aaData": [
        [1, "70.1700", "2008-12-29 11:23:00"],
        [2, "70.2600", "2008-12-29 16:22:00"],
        [3, "70.6500", "2008-12-30 11:30:00"],
        [4, "70.8700", "2008-12-30 16:10:00"],
        [5, "70.5500", "2009-01-02 11:09:00"],
        [6, "70.6400", "2009-01-02 16:15:00"]
    ]};

    newData = data.aaData.map( function(row) {
        return [ new Date(row[2]).getTime(), parseInt(row[1]) ];
    });
    console.log(newData);

    var chart = new Highcharts.Chart({
        chart: {
            renderTo: 'container'
        },
        xAxis: {
            type: 'datetime'
        },
        series: [{
            data: newData
        }]
    });
});