Symfony - Deserialize json to an array of entities

后端 未结 5 1720
无人及你
无人及你 2020-12-28 08:38

I have a json object that I received by making a get API call. I make this call to receive a list of objects. It\'s a list of post... So I have an array of Post Objects.

5条回答
  •  庸人自扰
    2020-12-28 09:11

    I would make something like this

    class PostsModel
    {
        /**
         * @var int
         */
        private $total;
    
        /**
         * @var PostModel[]
         */
        private $data;
    }
    
    class PostModel
    {
        /**
         * @var int
         */
        private $id;
    
        /**
         * @var UserModel
         */
        private $user;
    
        /**
         * @var string
         */
        private $description;
    
        /**
         * @var  int
         */
        private $nb_comments;
    
        /**
         * @var int
         */
        private $nb_likes;
    
        /**
         * @var \DateTime
         */
        private $date_creation;
    }
    
    class UserModel
    {
        /**
         * @var int
         */
        private $id;
    
        /**
         * @var string
         */
        private $username;
    }
    

    And in controller

                $posts = $this->serializer->deserialize($data, PostsModel::class, 'json');
    

    And this will return $postsModel with $data property which will have your array of entities

提交回复
热议问题