Как передать параметры функции json_encode в компоненте Symfony SerializerPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Как передать параметры функции json_encode в компоненте Symfony Serializer

Сообщение Anonymous »

Вот ситуация: я работаю над API для отдыха, основанным на symfony3, он использует FOSRestBundle и компонент сериализатора symfony, поэтому методы возвращают массив, а FOSRest обрабатывает кодирование и ответ. Проблема в том, что сериализатор использует json_encode с настройками по умолчанию, а API возвращает данные типа «\ u00c9S» для некоторых символов. Поэтому мне нужно каким-то образом передать JSON_UNESCAPED_UNICODE в json_encode(). Есть ли правильный способ достичь этой цели?
Пример метода:

namespace AppBundle\Controller;

use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
use FOS\RestBundle\Controller\Annotations as Rest;
use Nelmio\ApiDocBundle\Annotation\ApiDoc;
use Symfony\Component\HttpFoundation\Request;

/**
* Class ExampleController
* @package AppBundle\Controller
*/
class ExampleController extends Controller
{
/**
* @Rest\Get("/get-some-data")
* @param Request $request
* @return array
*/
public function getSomeDataAction(Request $request)
{
$someData = [
'prop1' => 'Value',
'prop2' => 'Value',
'prop3' => 'Value',
'prop4' => 'Value',
];

return $someData;
}


Поэтому, когда я делаю запрос на «/get-some-data», он возвращает мне:

{"prop1":"Value with \/","prop2":"Value with \u00c9"}


, но мне нужно, чтобы он вернулся:

{"prop1":"Value with /","prop2":"Value with É"}


Подробнее здесь: https://stackoverflow.com/questions/411 ... -component
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»