JMS Serializer SerializedName()无效

时间:2018-03-21 16:38:58

标签: php symfony serialization annotations jmsserializerbundle

我的实体Foo中有 $ character属性

该属性本身就是一个实体(AppBundle \ Entity \ Character)。

当我序列化Foo时,我不想让整个实体角色被序列化:我只需要角色的昵称。

我在AppBundle \ Entity \ Foo中写了这个:

/**
 * 
 * @Serializer\VirtualProperty()
 * @Serializer\SerializedName("character")
 */
public function getCharacterNickname()
{
    return $this->character->getNickname();
}

" 虚拟财产"注释有效。

但" 序列化名称"不会,因为结果如下:

{
    "id": 18,
    "characterNickname": "Mr.Gilbert Norrel",
    "foo": "foo",
    "bar": true,
    "baz": "baz"
}

(" characterNickname"而不仅仅是"字符",正如我在注释中所说的那样。)

属性" id"," foo"," bar"和" baz"有注释@ Serializer \ Expose ()。该物业"字符"不会(因为我想通过VirtualProperty序列化那个属性)

我错过了什么? 是否是因为我想用现有属性的名称序列化属性?

Ty:)

1 个答案:

答案 0 :(得分:1)

找到解决方案:

https://github.com/schmittjoh/serializer/issues/334

似乎库的IdenticalPropertyNamingStrategy文件中存在错误。