我的PHP中有这个。
$sql="select * from defaulttime";
$result = mysqli_query($db, $sql);
while ($row = mysqli_fetch_array($result)){
$row_set[] = $row;
}
echo trim(json_encode($row_set));
在我的SQL中,有些列是Integer。但在JSON中它显示为String。 有谁能告诉我我做错了什么?
当我运行PHP时,我得到以下结果。 (注意小时和分钟应为整数)
[{"name":"Test","Hour": "6" ,"Minute":"45"}],
我希望它将字符串显示为字符串,将Int显示为Int。
{"name":"Test","Hour": 6 ,"Minute":45}
答案 0 :(得分:2)
你必须使用JSON_NUMERIC_CHECK选项才能获得数值,
看这里:https://lornajane.net/posts/2011/php-returning-numeric-values-in-json
echo trim(json_encode($row_set,JSON_NUMERIC_CHECK));
答案 1 :(得分:0)
全心全意,
我使用此代码使其工作:
$result = mysqli_query($db, $sql);
while ($row = mysqli_fetch_array($result)){
$row_set[] = $row;
}
$json=json_encode($row_set,JSON_NUMERIC_CHECK);
echo $json;