SQL to JSON将我的int转换为字符串

时间:2018-01-26 23:09:26

标签: mysql arrays json

我的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}

2 个答案:

答案 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;