簡體   English   中英

JSON輸出文件格式

[英]JSON Output File Format

我正在使用Canvasjs圖表從PHP / MySQL進行繪圖。 除了創建JSON文件外,一切都按預期進行。

Canvasjs要求JSON文件如下所示:

callback({  
   "dps":
[{"division":"Xaxis VALUE","units":Yaxis VALUE}]
})

但是,在創建我的JSON文件時

[{"division":"Xaxis VALUE","units":Yaxis VALUE}]

我只想知道如何在腳本中的sjon文件中添加開始標記和結束標記。

這是創建JSON文件的代碼的最后一部分:

$output_data= array();
    while($row = mysqli_fetch_array($result))
    {
        $output_data[] = array(
                                'division' => $row["division"],     
                                'units' => $row["units"]

                                );
    }

return json_encode($output_data, JSON_NUMERIC_CHECK);    
echo json_encode($output_data, JSON_NUMERIC_CHECK);   
}




$file_name = 'myresult2'.'.json';

if(file_put_contents($file_name, get_data()))
{
    echo $file_name. 'file created';
}
else
{
  echo 'Error';  
}

?>

其他數據:這是生成圖形的代碼。

<script>

var chart = null;
var dataPoints = [];

window.onload = function() {



chart = new CanvasJS.Chart("chartContainer", {
    animationEnabled: true,
    theme: "light",
    title: {
        text: "Graph Header"
    },
    axisY: {
        title: "% Verified",
        titleFontSize: 12,
        labelFontSize: 12,
        valueFormatString: "#.##%"      

    },
    axisX: {
        title: "Division",
        titleFontSize: 12,
        labelFontSize: 12
    },    
    data: [{
        type: "column",
        yValueFormatString: "#.##%",
        dataPoints: dataPoints
    }]
});


$.getJSON("myresult.json?callback=?", callback);    

}

function callback(data) {   
    for (var i = 0; i < data.dps.length; i++) {
        dataPoints.push({
            label: data.dps[i].division,
            y: data.dps[i].units
        });
    }
    chart.render(); 
}

</script>

請試試

// change this
$output_data[] = array(

// to this
$output_data['dps'][] = array(

您需要做的是使用名為dps的項將創建的數組封裝在一個新數組中。

因此,在您的while循環之后while您應該執行以下操作

$json_data['dps']=$output_data;

return json_encode($json_data, JSON_NUMERIC_CHECK);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM