如何在Symfony 4.2中使用JMSSerializer [英] How to use JMSSerializer with symfony 4.2

查看:164
本文介绍了如何在Symfony 4.2中使用JMSSerializer的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用symfony 4.2构建一个Api,并想在通过

i am building an Api with symfony 4.2 and want to use jms-serializer to serialize my data in Json format, after installing it with

撰写者需要jms/serializer-bundle

composer require jms/serializer-bundle

当我尝试以这种方式使用它时:

and when i try to use it this way :

``` demands = $demandRepo->findAll();
    return $this->container->get('serializer')->serialize($demands,'json');```

它给了我这个错误:

Service "serializer" not found, the container inside "App\Controller\DemandController" is a smaller service locator that only knows about the "doctrine", "http_kernel", "parameter_bag", "request_stack", "router" and "session" services. Try using dependency injection instead.

推荐答案

正如我在评论中所说,您可以使用Symfony的默认序列化器,并使用它由构造函数注入.

As I said in my comment, you could use the default serializer of Symfony and use it injecting it by the constructor.

//...

use Symfony\Component\Serializer\SerializerInterface;

//...

class whatever 
{
    private $serializer;

    public function __constructor(SerializerInterface $serialzer)
    {
        $this->serializer = $serializer;
    }

    public function exampleFunction()
    {
        //...
        $data = $this->serializer->serialize($demands, "json");
        //...
    }
}

这篇关于如何在Symfony 4.2中使用JMSSerializer的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆