我正在尝试使用symfony2设置一个json示例
我已经创建了一个测试包,一个测试实体(“消息”),设置了orm等
消息(表格)包含以下列: ID,标题,文字
我正在尝试公开一个路由* / mydomain / message,它将json接口暴露给消息表(一个小列表)
我尝试的第一种方法是:
创建一个使用Symfony\Component\HttpFoundation\Response
的MessageController类,其函数如下:
public function testAction() {
$response = new Response(json_encode(**code_req_here**));
return $response;
}
并设置如此的路线:
test:
pattern: /test
defaults: { _controller: myProjectmyTestBundle:Message:test, _format: json}
requirements: { _format: (xml|json), _method: GET }
code_req_here
上放了什么? 我尝试的第二种方法是使用FOS / RestBundle但是没有按照我的理解正确完成指南,所以
答案 0 :(得分:13)
这是一种正确的方法吗?
是的我喜欢它,但我会修改路由规则有点像这样:
test:
pattern: /test.{_format}
defaults: { _controller: myProjectmyTestBundle:Message:test, _format: json}
requirements: { _format: (xml|json), _method: GET }
我在code_req_here上放了什么?
将要转换的数组放入json格式。 恩。 array(array('id'=> 1,'value'=>'test'),array('id'=> 2,'value'=>'smart'))
答案 1 :(得分:1)
我建议使用
http://jmsyst.com/bundles/JMSSerializerBundle
$serializer = $container->get('jms_serializer');
$serializer->serialize($data, 'json'); // json|xml|yml
$data = $serializer->deserialize($inputStr, $typeName, $format);