首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在Symfony 2.0 AJAX应用程序中将Doctrine实体编码为JSON?

如何在Symfony 2.0 AJAX应用程序中将Doctrine实体编码为JSON?
EN

Stack Overflow用户
提问于 2011-07-15 19:41:32
回答 10查看 127.2K关注 0票数 94

我正在开发游戏应用程序并使用Symfony 2.0。我有很多AJAX请求到后端。更多的响应是将实体转换为JSON。例如:

代码语言:javascript
复制
class DefaultController extends Controller
{           
    public function launchAction()
    {   
        $user = $this->getDoctrine()
                     ->getRepository('UserBundle:User')                
                     ->find($id);

        // encode user to json format
        $userDataAsJson = $this->encodeUserDataToJson($user);
        return array(
            'userDataAsJson' => $userDataAsJson
        );            
    }

    private function encodeUserDataToJson(User $user)
    {
        $userData = array(
            'id' => $user->getId(),
            'profile' => array(
                'nickname' => $user->getProfile()->getNickname()
            )
        );

        $jsonEncoder = new JsonEncoder();        
        return $jsonEncoder->encode($userData, $format = 'json');
    }
}

我的所有控制器都做同样的事情:获取一个实体,并将它的一些字段编码为JSON。我知道我可以使用规范化并对所有实体进行编码。但是,如果一个实体具有指向其他实体的循环链接呢?或者实体图非常大?你有什么意见建议?

我在考虑一些实体的编码模式...或者使用NormalizableInterface来避免骑自行车,

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

https://stackoverflow.com/questions/6706485

复制
相关文章

相似问题

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