我正在使用JQPlot.js显示来自自托管Piwik服务的分析。我面临的问题是从Piwik配置API数据数组以返回有效的jqPlot数据数组。
来自API的JSON中的Piwik数据通过https://demo.piwik.org/?module=API&method=VisitsSummary.getVisits&idSite=7&period=day&date=last30&format=json&token_auth=anonymous
{"2017-12-19":854,"2017-12-20":939,"2017-12-21":767,"2017-12-22":571,"2017-12-23":3}
我需要有效JQPlot.js数组中的数据的示例
['2017-12-19',854], ['2017-12-20',939], ['2017-12-21',767], ['2017-12-22',571], ['2017-12-23',3]]
显示图表的脚本是
$(document).ready(function(){
var ajaxDataRenderer = function(url, plot, options) {
var ret = null;
$.ajax({
async: false,
url: url,
dataType:"json",
success: function(data) {
ret = data;
}
});
return ret;
};
var jsonurl = "https://demo.piwik.org/?module=API&method=VisitsSummary.getVisits&idSite=7&period=day&date=last30&format=json&token_auth=anonymous";
var plot2 = $.jqplot('chart2', jsonurl,{
title: "AJAX JSON Data Renderer",
dataRenderer: ajaxDataRenderer,
dataRendererOptions: {
unusedOptionalUrl: jsonurl
}
});
});
感谢您的帮助。
答案 0 :(得分:1)
您可以通过查看数据来创建所需的数组:
input = {"2017-12-19": 854, "2017-12-20": 939, "2017-12-21": 767, "2017-12-22": 571, "2017-12-23": 3}
arr = []
for (var key in input) {
if (input.hasOwnProperty(key)) {
arr.push([key, input[key]]);
}
}
然后 arr
将包含以下数组:
[ [ '2017-12-19', 854 ],
[ '2017-12-20', 939 ],
[ '2017-12-21', 767 ],
[ '2017-12-22', 571 ],
[ '2017-12-23', 3 ] ]