Javascript Highcharts的JSON解析
我看过很多例子。然而,我仍然被困在这个问题上。如何解析此JSON响应以使用我的Highstock HighchartJavascript 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"}] 这是我到目前为止的
[{"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,函数(数据){