Comment afficher la valeur nulle dans JSON dans FOS Rest Bundle avec JMS Serializer?

j'ai eu un lisez ceci : https://github.com/schmittjoh/serializer/issues/77 mais n'a pas trouvé de moyen pour sérialiser les valeurs null en JSON pour FOS Reste bundle avec JMS sérialiseur (ce qui signifie tout simplement montrer la clé de la Doctrine de l'objet, même si sa valeur null).

j'utilise la configuration suivante dans composer.json

"jms/serializer-bundle": "0.12.*@dev",
"friendsofsymfony/rest-bundle": "0.13.*@dev",

JMS sérialiseur config

#jms-serializer
jms_serializer:
 visitors:
    json:
        options: 0 # json_encode options bitmask
        serialize_null: true

Ou le FOS Reste bundeswehr config

fos_rest:
view:
    serialize_null: true

Ne fonctionne pas. Je ne suis pas en utilisant une vue, je suis "view_response_listener: 'force' " donc si une solution de la configuration peut être fournie, cela aiderait, merci.

33
demandé sur Geshan 2013-05-28 10:11:07

3 réponses

Essayez ceci

dans votre contrôleur

    $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;

Mais l'interaction avec le fosrestbundle sur les configs n'est pas connu pour moi.

25
répondu stwe 2013-06-19 16:04:40

Vous pouvez définir l'option suivante dans la configuration depuis peu:

fos_rest:
    serializer:
        serialize_null: true
88
répondu Itako 2013-07-01 10:34:03

la façon la plus facile de faire cette fonctionnalité fonctionne comme un charme

ajouter la configuration supplémentaire suivante à votre option de configuration de fos_rest:

fos_rest:
    serializer:
        serialize_null: true
0
répondu MUSTAPHA GHLISSI 2018-04-06 15:53:12