对看似有效的JSON

时间:2017-07-24 13:24:34

标签: php json decoding lumen

我遇到了有关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?

0 个答案:

没有答案