Json Symfony2序列化程序有时不工作
这是我的控制器。在大多数情况下,它工作得很好,并为我返回了一个很好的JSON对象。但在某些实体上,它只是挂在下面指示的线上。my entities中数据的完成情况各不相同,在缺少特定字段和序列化不起作用之间似乎没有联系 另外,我的普通视图工作得很好,只是看起来序列化程序工作不正常 还有其他人对Symfony的内置序列化程序有问题吗 编辑:进行了更深入的研究,看起来我正在为此使用JMSSerializerBundleJson Symfony2序列化程序有时不工作,json,symfony,serialization,jmsserializerbundle,Json,Symfony,Serialization,Jmsserializerbundle,这是我的控制器。在大多数情况下,它工作得很好,并为我返回了一个很好的JSON对象。但在某些实体上,它只是挂在下面指示的线上。my entities中数据的完成情况各不相同,在缺少特定字段和序列化不起作用之间似乎没有联系 另外,我的普通视图工作得很好,只是看起来序列化程序工作不正常 还有其他人对Symfony的内置序列化程序有问题吗 编辑:进行了更深入的研究,看起来我正在为此使用JMSSerializerBundle $em = $this->getDoctrine()->ge
$em = $this->getDoctrine()->getManager('inertia');
$entity = $em->getRepository('InertiaBundle:Accounts')->find($id);
if (!$entity) {
throw $this->createNotFoundException('Unable to find Accounts entity.');
}
if($format == 'json') {
// return json array
$serializer = $this->get('serializer');
$data = $serializer->serialize($entity, 'json'); //hangs at this line.
$response = new Response($data);
$response->headers->set('Content-Type', 'application/json');
return $response;
} else {
$deleteForm = $this->createDeleteForm($id);
return $this->render('InertiaBundle:Accounts:show.html.twig', array(
'entity' => $entity,
'delete_form' => $deleteForm->createView(),
));
}
我对挂在下面一行的请求也有类似的问题:
$serializer = $this->get('serializer');
用以下内容替换它似乎是可行的
$serializer = $this->container->get('serializer');
我还不了解足够的Symfony2来了解为什么会出现这种情况,但可能有比我更了解的人可以解释。您是否尝试公开/排除您的实体属性?谢谢你看我的问题。我已经有一年没做这个了。我相信我刚刚抛弃了序列化程序,并手动完成了它。在这种情况下,这对我来说实际上更好,因为我需要一些字段,而不是在json响应中显示。