2012-05-08 53 views
4

以下:如何解析JSON成highcharts

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

返回

{"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

這是我的代碼JSON對象嘗試它(數據=上面的json字符串):

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) 
} 

如何將數據導入到Highchart系列中?

編輯

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

+0

這是一個JavaScript對象常量,而不是一個JSON字符串。你究竟在嘗試使用哪一種? –

+0

爲什麼這被標記爲Python?我在這裏沒有看到任何Python。 –

+0

我的不好,我正在使用python/django。我刪除了標籤 – nelsonvarela

回答

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 
     }] 
    }); 
}); 
+0

差不多......我不需要時間。我需要的年份,月份和日期如下Date.UTC(Y,D,M) – nelsonvarela

+0

沒關係getTime與Date.UTC – nelsonvarela