2016-12-01 4 views
1

Я использую FOSRestBundle, для newRessourceAction, я хотел бы сгенерировать json-версию формы, которую я мог использовать, к POST новый.fosrestbundle, используя представление twig в json _format resultat в htmlentities закодированном ответе

С этой целью я тестировал несколько способов вернуть ответ json, но в каждом случае конец json-строки должен быть jsonencoded от FOSRestBundle. Вот пример:

#in the controller 
/** 
* @View() 
*/ 
public function newFooAction(Request $request) { 
    $_format = $request->attributes->get('_format'); 
    $foo = new Foo(); 
    $form = $this->createForm(FooType::class, $foo, ['action' => $this->generateUrl('post_foo', ['_format' => $_format]),'method' => 'POST',]); 
    return ['form' => $form]; 
} 


#in the foo.json.twig 
{{ form | serialize('json') }} 

выход стремится быть похожим, что (обратите внимание "):

{"foo":"bar"} 

ответ

0

Я не вижу каких-либо ссылок на serialize в документации прутик в. Это обычная функция, которую вы создали?

Вы можете попробовать это, чтобы увидеть, что происходит:

{{ form|json_encode() }} 

Вот документация к нему: http://twig.sensiolabs.org/doc/filters/json_encode.html

Попробуйте сделать это, и дайте нам знать результаты. Я не проверял это, поэтому я не уверен, что он сработает для вас.

+0

Чтобы сериализовать мои сущности в надлежащий json, я использую [JMSSerialiserBundle] (http://jmsyst.com/bundles/JMSSerializerBundle), которые приводят к '| сериализации ('') JSON '. если я использую '| json_encode()', у меня та же проблема htmlentities. – Bruno

 Смежные вопросы

  • Нет связанных вопросов^_^