我正在尝试创建DTO,它将帮助我反序列化嵌套的JSON。我知道JSON的结构,但在某些嵌套步骤中,我不知道JSON属性的名称/索引。
JSON如下:
{
"project": {
"layer": {
"480x960": [],
"720x360": [],
"...": [],
"...": []
}
}
}
但是我不知道 layer 属性内的属性名称。
到目前为止,我有一些DTO
项目DTO:
namespace App\DTO;
use JMS\Serializer\Annotation as Serializer;
class Project
{
/**
* @var Layer
*
* @Serializer\Type("App\DTO\Layer")
*/
protected $layer;
}
层DTO:(我坚持)
namespace App\DTO;
use Doctrine\Common\Collections\Collection;
use JMS\Serializer\Annotation as Serializer;
class Layer
{
// ???
}
我试图实现以下目标: $ project-> getLayer()将返回对象 ['480x960','720x360','...'等的集合] 。我不必在 layer 中保留这些未知属性的名称/索引。
答案 0 :(得分:0)
尝试一下。您不需要Layer的课程。
use JMS\Serializer\Annotation as Serializer;
class Project
{
/**
* @Serializer\Type("array<string, array>")
*/
protected $layer;
}