我正在尝试以以下格式输出 JSON:
[{
"category": "cONTIME",
"value": 155,
"color": "#0f9b0f"
},{
"category": "cLATE",
"value": 244,
"color": "#dd1818"
},{
"category": "cTOTAL",
"value": 399,
"color": "#0575E6"
},{
"category": "ONTIME",
"value": 60,
"color": "#0f9b0f"
},{
"category": "LATE",
"value": 58,
"color": "#dd1818"
},{
"category": "TOTAL",
"value": 118,
"color": "#0f9b0f"
}]
我正在执行的存储过程返回下表 - 这是 SQL SERVER - 我对不感兴趣的列进行了灰色处理
我已经尝试过使用
$categories = [
'cONTIME' => $row['cONTIME'],
'cLATE' => [],
'cTOTAL' => [],
];
$colors = [
'ONTIME' => "#0f9b0f",
'LATE' => "#dd1818",
'TOTAL' => "#0575E6",
];
$json = array();
while( $row = sqlsrv_fetch_array( $stmt, SQLSRV_FETCH_ASSOC) ) {
$json['category'] = $categories;
$json['value'] = $row;
$json['color'] = $colors;
}
echo json_encode($json);
返回这个:
{
"category":{
"cONTIME":null,
"cLATE":[
],
"cTOTAL":[
]
},
"value":{
"cTOTAL":399,
"cONTIME":155,
"cLATE":244,
"cPERCENTS":38,
"TOTAL":118,
"ONTIME":60,
"LATE":58,
"PERCENTS":50,
"KPI":"UP"
},
"color":{
"ONTIME":"#0f9b0f",
"LATE":"#dd1818",
"TOTAL":"#0575E6"
}
}
我也尝试过这个:
$json = array();
while( $row = sqlsrv_fetch_array( $stmt, SQLSRV_FETCH_ASSOC) ) {
$json[] = $row;
}
echo json_encode($json);
返回:
[
{
"cTOTAL":399,
"cONTIME":155,
"cLATE":244,
"cPERCENTS":38,
"TOTAL":118,
"ONTIME":60,
"LATE":58,
"PERCENTS":50,
"KPI":"UP"
}
]
除了上述方法,我还尝试了许多其他方法和示例,但似乎无法实现我需要的格式。我完全了解 PDO、准备好的语句、注入等!我只需要先格式化 JSON,但在此先感谢您的建议
任何帮助将不胜感激 - PHP Noob
海绵宝宝撒