JSON 数据数组不是 JQPlot.js 的有效 return

JSON data array not a valid return for JQPlot.js

我正在使用 JQPlot.js 来显示来自自托管 Piwik 服务的分析。我面临的问题是将 API 数据数组从 Piwik 配置为 return 一个有效的 jqPlot 数据数组。

JSON 中的 Piwik 数据来自 API 通过 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
    }
  });
});

感谢您的帮助。

您可以通过查看数据来简单地创建所需的数组:

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 ] ]