首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Symfony2序列化程序有时不能工作

Symfony2序列化程序有时不能工作
EN

Stack Overflow用户
提问于 2016-03-30 16:37:20
回答 1查看 567关注 0票数 2

这是我的控制器。在大多数情况下,它工作得很好,并为我返回一个很好的JSON对象。但在某些实体上,它只是挂在下面所示的线上。在我的实体中,数据的完成情况各不相同,在某个特定字段丢失和序列化不起作用之间似乎没有联系。

而且,我的正常视图工作得很好,它似乎只是序列化器不能正常工作。

有没有其他人对Symfony内置的序列化程序有问题?

编辑:做了一个更深入的研究,看起来我正在使用JMSSerializerBundle。

代码语言:javascript
复制
    $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(),
        ));
    }
EN

回答 1

Stack Overflow用户

发布于 2017-02-17 19:33:40

我也有一个类似的问题,请求挂在下面这一行:

代码语言:javascript
复制
$serializer = $this->get('serializer');

用下面的方法代替它似乎是有效的

代码语言:javascript
复制
$serializer = $this->container->get('serializer');

我还不知道Symfony2为什么会这样,但也许比我更有见识的人可以解释。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36314757

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档