与java记录不同的序列化/反序列化

问题描述 投票:0回答:1

使用记录时如何使用不同的名称进行序列化和反序列化?

java

public record testRecrd(@JsonProperty("foo bar") String fooBar){}

json

{
  foo bar : "test"
}

我可以修改此记录吗?或者是否有任何修饰符可以使用,以便当我反序列化我得到的记录时

{
 fooBar : "test"
} 
java json jackson
1个回答
2
投票

需要使用

@JsonAlias
进行反序列化:

可用于定义属性的一个或多个备用名称的注释,在反序列化期间接受作为官方名称的备用名称。

public record TestRecord(@JsonProperty("foo bar") @JsonAlias("fooBar") String fooBar) {
}

Jackson 将首先搜索

foo bar
,并且仅在
fooBar
缺失时进行搜索。

© www.soinside.com 2019 - 2024. All rights reserved.