我正在Symfony2中编写一个REST API,我让我的控制器使用提供的JsonResponse类输出JSON响应:
$response = new JsonResponse(null, $status);
$response->setData($node['Content']);
return $response;
Run Code Online (Sandbox Code Playgroud)
但是,出于调试目的,能够非常打印输出会很不错.是否有一个参数我可以传递给JsonResponse对象以启用输出的漂亮打印?
为此创建一个事件监听器,就像Pawel的答案是过度工程.
为了美化,你只需将JSON_PRETTY_PRINT常量传递给JsonResponsevia setEncodingOptions,就像在这个例子中一样:
$response = new JsonResponse( [ 'your' => 'data' ] );
$response->setEncodingOptions( $response->getEncodingOptions() | JSON_PRETTY_PRINT );
return $response;
Run Code Online (Sandbox Code Playgroud)
您可以查看Symfony API以获取更多信息:
课程JsonResponse:
方法setEncodingOptions:
这是v3.2...的文档,但例如旧版本v2.7也有此方法.