[英]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.