Вот ситуация: я работаю над 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
Как передать параметры функции json_encode в компоненте Symfony Serializer ⇐ Php
Кемеровские программисты php общаются здесь
1730977685
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 É"}
Подробнее здесь: [url]https://stackoverflow.com/questions/41120569/how-to-pass-options-to-json-encode-function-in-symfony-serializer-component[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия