我需要 JSON 格式和 Flot Chart 插件的值

I need JSON format with values for Flot Chart plugin

我想从 mysql 数据库中获取数据并使用 Flot 插件将其放入图表中,根据 docs 数据格式是一个点数组:[ [x1, y1], [x2, y2], ... ]。在我的例子中,我想获取日期和销售值并将其放入这个数组中,所以我这样做了:

<?php 
 $sql = "SELECT * from sales where YEAR(date)='2013'";
 $res = mysql_query($sql);
 $return = [];

 while($row = mysql_fetch_array($res)){
    $return[] = [$row['date'],$row['amount']];
 }

 echo '{ "label": "Sales", "data":'. json_encode($return, JSON_UNESCAPED_UNICODE).'}';
?>

我得到这样的结果:

{ "label": "Sales", "data":[["2013-02-01","52"],["2013-03-01","40"],["2013-03-28","200"]]}

我尝试通过 AJAX:

传递这些信息
var sales;

    $.ajax({
        url: "scripts/sales.php",
        type: "GET",
        dataType: "json",
        success: function(resp)
        {
            sales = [$.trim(resp.data)];
            console.log(sales);
        }
    });

但不幸的是我没有得到相同的格式,控制台的结果是这样的:

["2013-02-01,52,2013-03-01,40,2013-03-28,280"]

我想得到这样的相同格式:

[["2013-02-01","52"],["2013-03-01","40"],["2013-03-28","200"]]

我该如何解决?我需要一些帮助。

尝试 json_encode 整个对象,而不是在 PHP 中将字符串与 json_encode 连接起来:

echo json_encode(array("label" => "Sales", "data" => $return));

然后代替

sales = [$.trim(resp.data)];

只需访问普通的 .data 属性:

sales = resp.data;