Как показать значение null в JSON в пакете Rest FOS с сериализатором JMS?
Я прочитал это:https://github.com/schmittjoh/serializer/issues/77 но не нашел способа сериализовать нулевые значения в JSON для пакета FOS Rest с сериализатором JMS (то есть просто показать ключ объекта Doctrine, даже если его null).
Я использую следующую конфигурацию в composer.в JSON
"jms/serializer-bundle": "0.12.*@dev",
"friendsofsymfony/rest-bundle": "0.13.*@dev",
конфигурация сериализатора JMS
#jms-serializer
jms_serializer:
visitors:
json:
options: 0 # json_encode options bitmask
serialize_null: true
или конфигурация FOS Rest bunde
fos_rest:
view:
serialize_null: true
не работает. Я не используя представление, я "view_response_listener:' force'", поэтому, если решение из конфигурации может быть предоставлено, это поможет, спасибо.
3 ответов
попробуй такое
в контроллере
$entity = $this->getEntity($id);
$context = new SerializationContext();
$context->setSerializeNull(true);
$serializer = $this->get('jms_serializer');
$response = new Response($serializer->serialize($entity, 'json', $context));
$response->headers->set('Content-Type', 'application/json');
return $response;
но взаимодействие с FOSRestBundle о конфигурациях мне неизвестно.
вы можете установить следующий параметр в конфигурации с недавнего времени:
fos_rest:
serializer:
serialize_null: true
самый простой способ сделать эту функцию работает как шарм
добавьте следующую дополнительную конфигурацию к опции конфигурации fos_rest:
fos_rest:
serializer:
serialize_null: true