【发布时间】:2022-01-12 16:46:30
【问题描述】:
我正在使用 Symfony 5.4 及其 Symfony/Serializer 组件。
我收到如下 JSON 负载:
{
"name": "Truck",
"age": 23
}
我希望我可以将其反序列化为以下模型,其中 name JSON 字段将映射到 lastname User 类属性:
class User {
protected lastname;
protected age;
}
我的问题是反序列化失败,因为我的模型中没有 name 字段。
当然,我可以在我的 User 模型中添加一个 name 字段,并将其 getter/setter 编写如下,并使用 Serializer 的组不序列化 name 字段:
public function getName(): string
{
return $this->lastname;
}
public function setName(string $name): User
{
$this->lastname = $name;
return $this;
}
但这看起来很老套。无论如何,除了上述之外,我还需要将任何User 实体序列化为:
{
"lastname": "Truck",
"age": 23
}
因此,我不能在这里使用@SerializedName('name')。
实现这一目标的更简洁的方法是什么?
【问题讨论】:
标签: php symfony serialization deserialization