更改Symfony序列化

时间:2017-12-16 03:24:11

标签: php symfony

我正在使用Symfony序列化程序。效果很好。

use Symfony\Component\Serializer\Annotation\Groups;

/**
 * 
 * @Groups({"default", "notification"})
 */
public function getUser()
{
    ...
}

串行属性是否可以作为另一个名称? 所以我想在框架中使用getUser,但属性应该在序列化的json中命名为profile

我怎么能这样做?

2 个答案:

答案 0 :(得分:5)

编辑19-11-2018 ,此功能现在可用于Symfony 4.2:

/**
 * @SerializedName("some_name")
 */
private $lastName;

doc中的更多信息。

感谢Sodj提醒。

您可以使用自定义名称转换器来实现此目的。实现此目标的每项信息都在文档的this part中。

还打开了一个问题,直接使用注释https://github.com/symfony/symfony/issues/15171覆盖序列化对象的属性名称

答案 1 :(得分:1)

您是否尝试过,就像JMSserializer一样,这个注释: @SerializedName(" changed_name") - https://jmsyst.com/libs/serializer/master/reference/annotations#serializedname