请问laravel如何优雅的返回json数据?

例如:


class TestController extends Controller
{
    public function index() {
        $arr = [1,2];
        return json_encode($arr);
    } 
}

没有哪种方式能够在 return 的时候自动去做json_encode的操作,而不需要每个函数手动显示的去做json_encode操作呢?

补充说明:我的意思是在return 那一行不需要显示指定jsone_encode(),也就是说laravel里面的 response()->json()也是显示指定了,这个方式不是我想要的结果。

已经解决:
是我文档看的不仔细。
直接return 数组就行。
return $arr;
return json_encode($arr);
的区别是:
前者的 http Response Headers 的 Content-Type是application/json
后者的 http Response Headers 的 Content-Type是text/html;

对于client来说,要注意这里的区别。

阅读 29.8k
6 个回答

直接return数组

不仔细看文档

文档

clipboard.png

laravel中return会自动将数据转化为json字符串

确实 return一个array 会自动转为json

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题