使用php生成json文件时重命名行字段
我正在使用php和odbc连接生成一个json文件。我的查询很好地转换为json文件 这是我的sql查询:使用php生成json文件时重命名行字段,php,json,Php,Json,我正在使用php和odbc连接生成一个json文件。我的查询很好地转换为json文件 这是我的sql查询: SELECT Date1, Nett FROM database WHERE Date1 BETWEEN '$bdate' AND '$edate' AND String13='$sr' ORDER BY Date1 desc; 这将是json格式: {"Date1":"2015-10-09 00:00:00.000","Nett":"20860.0"} 但我希望输出是 {"date
SELECT Date1, Nett FROM database WHERE Date1 BETWEEN '$bdate' AND '$edate' AND String13='$sr' ORDER BY Date1 desc;
这将是json格式:
{"Date1":"2015-10-09 00:00:00.000","Nett":"20860.0"}
但我希望输出是
{"date":"2015-10-09","value":20860}
所以基本上我希望行“Date1”和“Nett”
自动转换为json文件中的“日期”和“值”。
可选的也只是日期,而不是日期时间
我想重命名此字段,因为我的图表由需要字段日期和值的json文件提供
这就是我到目前为止所拥有的
//json
$json_file_name = "uniwin/json/File_export.json";
$json_file_name = str_replace(" ", "_", $json_file_name);
// Open output file
$fp = fopen($json_file_name, 'w');
// Write JSON list start
fwrite($fp, '[');
// Write each object as a row
$isFirstRow = true;
while ($row = odbc_fetch_array($json)) {
if (!$isFirstRow) {
fwrite($fp, ',');
} else {
$isFirstRow = false;
}
fwrite($fp, json_encode($row));
}
// Write JSON list end
fwrite($fp, ']');
// Close file and MySQL connection
fclose($fp);
}您可以更改SQL查询:
SELECT
DATE_FORMAT(Date1, '%Y-%m-%d') AS date,
CAST(Nett AS INT) AS value
FROM database
WHERE Date1 BETWEEN '$bdate' AND '$edate' AND String13='$sr'
ORDER BY Date1 desc;
AS date
您可以使用任何别名
“%Y-%m-%d”
并选择任何格式
您可以更改SQL查询:
SELECT
DATE_FORMAT(Date1, '%Y-%m-%d') AS date,
CAST(Nett AS INT) AS value
FROM database
WHERE Date1 BETWEEN '$bdate' AND '$edate' AND String13='$sr'
ORDER BY Date1 desc;
AS date
您可以使用任何别名
“%Y-%m-%d”
并选择任何格式
本可以使用
日期(Date1)
,因为不需要更改格式嗨!谢谢你的评论。i get DATE_格式不是可识别的内置函数名。您能提供其他解决方案吗?顺便说一句:当我将查询更改为(选择Date1作为日期…)时,它将重命名为我的json文件Excellent!这样做很好!我想你使用的是MySQL,对于MS SQL你可以看到,谢谢你的建议!可以使用DATE(Date1)
,因为不需要更改格式!谢谢你的评论。i get DATE_格式不是可识别的内置函数名。您能提供其他解决方案吗?顺便说一句:当我将查询更改为(选择Date1作为日期…)时,它将重命名为我的json文件Excellent!这样做很好!我想你使用的是MySQL,对于MS SQL你可以看到,谢谢你的建议!