【发布时间】:2015-10-10 04:46:03
【问题描述】:
在我的开发服务器上,来自 Laravel 5 控制器的 JSON 响应以正确的类型显示数据。
例如
imdb_rating: 7.6
imdb_votes: 6271
但在生产服务器上,JSON 响应以字符串形式发回。
imdb_rating: "7.60"
imdb_votes: "6271"
开发和生产都安装了相同版本的 PHP (5.6.11-1)。
关于可能导致这种行为的任何想法?
【问题讨论】:
-
数据是否来自mysql表?
-
听起来可能很愚蠢,但是您能检查一下您是否在两台机器上都使用了 MySQL Native Driver (mysqlnd) 吗? MySQL Client Library 驱动程序将所有字段作为字符串返回,而不管类型如何,使用 MySQL Native Driver 时不是这种情况
-
好吧,使用 PHP 5.6 版你可能会这样做。
-
你试过
return response()->json(["foo" => "bar"], 200, [], JSON_NUMERIC_CHECK);吗? -
我已经添加了一个答案。可能对遇到此问题的其他人有好处。
标签: php json laravel laravel-5 php-5.6