php symfony框架如何将entity对象序列化成一个json对象返回到页面?

新手上路,请多包涵

使用symfony框架的是后, 如何将doctrine从数据库查询出来的对象以json对象的形式返回到页面?

阅读 4k
3 个回答
use Symfony\Component\Serializer\Encoder\JsonEncode;
use Symfony\Component\Serializer\Encoder\XmlEncoder;
use Symfony\Component\Serializer\Normalizer\GetSetMethodNormalizer;
   
    public static function encode($object, $format = 'json')
    {
        $encoders    = [new XmlEncoder(), new JsonEncode()];
        $normalizers = [new GetSetMethodNormalizer()];
        $serializer  = new Serializer($normalizers, $encoders);
        $encodes     = $serializer->serialize($object, $format);
        return $encodes;
    }
    
    
    
    
 相关文档直接查看 http://symfony.com/doc/current/components/serializer.html   

可以用jms/serializer 这个Bundle, 可以简化很多操作

个人建议不要直接把entity序列化,特别是有外链的情况下,效率很低。可以组装model,配合serializer使用。楼上说的jms很好用,有很多序列化策略和方法

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题