Javascript Highcharts的JSON解析

Javascript Highcharts的JSON解析,javascript,json,highcharts,highstock,Javascript,Json,Highcharts,Highstock,我看过很多例子。然而,我仍然被困在这个问题上。如何解析此JSON响应以使用我的Highstock Highchart [{"averageprice":"18.7","date":"2000-01-01"},{"averageprice":"41.73","date":"2000-01-02"},{"averageprice":"34.27","date":"2000-01-03"},{"averageprice":"30.06","date":"2000-01-04"}] 这是我到目前为止的

我看过很多例子。然而,我仍然被困在这个问题上。如何解析此JSON响应以使用我的Highstock Highchart

[{"averageprice":"18.7","date":"2000-01-01"},{"averageprice":"41.73","date":"2000-01-02"},{"averageprice":"34.27","date":"2000-01-03"},{"averageprice":"30.06","date":"2000-01-04"}]
这是我到目前为止的图表

    $.getJSON('http://example.com/dailyaverages.json', function(data) {
    // Create the chart
    window.chart = new Highcharts.StockChart({
        chart : {
            renderTo : 'ppcontent'
        },

        rangeSelector : {
            selected : 0
        },

        title : {
            text : 'Trade Prices'
        },

        xAxis: {
            type: 'datetime'
        },
        series : [{
            data : data
        }]
    });
});

Axis和data expect数组。请尝试:

$.getJSON('http://example.com/dailyaverages.json', function(data) {
    // Create the chart
    var dataObj = JSON.parse(data);
    window.chart = new Highcharts.StockChart({
        chart : {
            renderTo : 'ppcontent'
        },

        rangeSelector : {
            selected : 0
        },

        title : {
            text : 'Trade Prices'
        },

        xAxis: {
            type: 'datetime'
        },
        series : [{
            name: "Trade Prices",
            data : function() {
                  var dataArr = [];
                  dataObj.forEach(function(d) {
                    dataArr.push(parseInt(d.averageprice, 10));
                  });
                  return dataArr;
              }() 
        }]
    });
});

这是对我有用的东西。必须将日期转换为UNIX格式:

function addPriceChart(chartcontainerID, chartTitle, dataURL) {
          $.getJSON(dataURL, function (jsonresult) {

            window.chart = new Highcharts.StockChart({
              chart: {
                renderTo: chartcontainerID
              },

              rangeSelector: {
                selected: 1
              },

              title: {
                text: chartTitle
              },

              credits: {
                enabled: false
              },

              series: [{
                name: 'Price1',
                data: function () {
                  var dataArr = [];
                  jsonresult.forEach(function (row) {
                    var dateParts = row.date.split('-');
                    var date = new Date(dateParts[0], (dateParts[1] - 1), dateParts[2]);
                    var data = [date.getTime(), parseFloat(row.averageprice)];
                    dataArr.push(data);
                  });
                  return dataArr;
                }(),
                tooltip: {
                  valueDecimals: 2
                }
              }]
            });
          });
    } // END addPriceChart Function


    addPriceChart('ppcontent', 'Prices, 'http://mysite.com/data.json');

大多数现代浏览器都支持
JSON.parse()
方法,该方法的功能与名称完全相同。谢谢Munish。这看起来很接近,但返回了错误。“未捕获的语法错误:意外标记o”。我的控制台指向这一行:var dataObj=JSON.parse(data);我认为getJSON函数的第二个参数是要发送到服务器的数据。如果没有要发送的内容,则可以传递null。因此,您的第一行看起来像:
$.getJSON('http://example.com/dailyaverages.json,null,函数(数据){