我遇到了有关JSON的问题。
设置非常简单。我正在使用Lumen框架并在“控制器”中使用。我已经有了一个函数,它从数据库中获取一些信息,我想在另一个名为' GameController'的控制器中使用它。以下是重要的代码:
class GameController extends Controller
{
...
public function index(Request $request)
{
$jsonGame = $this->getItem('games', 'gametitle', $request->input('title'));
}
...
}
class Controller extends BaseController
{
public function getItem($table, $column, $item)
{
try{
$result = app('db')->table($table)
->where($column, $item)
->take(1)
->get();
if(count($result) != 0) {
return Response::json($result);
}
return Response::notFound('Item not found');
}
catch(QueryException $e) {
...
}
}
}
现在的问题是,当我尝试解码变量$ jsonGame中的json并检查是否没有错误时,总是出现错误代码4并且解码失败。我已通过以下方式检查了它:
if (json_last_error() === JSON_ERROR_NONE) {
echo 'json';
} else {
echo json_last_error(); // gives error code 4
}
然后我开始手动检查json,这就是它输出的内容。 echo $ jsonGame 的输出:
HTTP / 1.0 200 OK缓存控制:无缓存,私有内容类型:application / json日期:星期一,2017年7月24日12:58:03 GMT
[{"游戏ID":2" gametitle":"火箭 联赛"" gamedescription":""" created_at":" 2017年7月24日 07:02:43"," updated_at":" 2017-07-24 07:02:43"}]
的输出返回$ jsonGame :
[ { " gameid":2, " gametitle":"火箭联盟", " gamedescription":"", " created_at":" 2017-07-24 07:02:43", " updated_at":" 2017-07-24 07:02:43" } ]
因此,你可以看到上面看起来似乎是有效的JSON,而我正在融化我的大脑。为什么解码不起作用?为什么它会给出错误代码4?