有没有办法将JsonResponse
输出配置为 - 例如 - 未转义的unicode? p>
类似于这个php函数的输出:
json_encode($array, JSON_UNESCAPED_UNICODE);
答案 0 :(得分:1)
Yes, here you go:
$response = new JsonResponse($data);
$response->setEncodingOptions(JSON_UNESCAPED_UNICODE);
return $response;
答案 1 :(得分:0)
要全局执行此操作,请创建一个事件侦听器。像这样:
services.yml:
event_listeners.json_formatter_listener:
class: EventListeners\JsonResponseFormatterListener
tags:
- { name: kernel.event_listener, event: kernel.response, method: onKernelResponse }
JsonResponseFormatterListener.php:
<?php
namespace EventListeners;
use Symfony\Component\HttpFoundation\JsonResponse;
use Symfony\Component\HttpKernel\Event\FilterResponseEvent;
class JsonResponseFormatterListener
{
public function onKernelResponse(FilterResponseEvent $event)
{
$response = $event->getResponse();
if ($response instanceof JsonResponse) {
$response->setEncodingOptions(JSON_UNESCAPED_UNICODE);
}
}
}