gpt4 book ai didi

java - 访问器方法是否需要 @JsonProperty 注释?

转载 作者:搜寻专家 更新时间:2023-11-01 02:06:35 24 4
gpt4 key购买 nike

我继承了以下内容:

import com.fasterxml.jackson.annotation.JsonProperty;
public class MyClass {
@JsonProperty("id")
private String id;

@JsonProperty("id")
public String getId(){
...code...
}

@JsonProperty("id")
public String setId(String id) {
...code...
}
}

是否需要在 getter 和 setter 上重复 JsonProperty 注释,或者如果我只注释私有(private)成员,jackson 会自动处理序列化/反序列化吗?

最佳答案

在您的示例中,使用默认的 ObjectMapper 设置,在使用 Jackson 1.8 或更新版本时不需要注释。

Jackson 可以自动检测来自公共(public) getter(如“public int getValue()”)、setter(“public void setValue(int v);”)和字段(“public int value;”)的属性。此外,只要找到一个公共(public) setter、getter 或字段,则匹配但(否则)不可见的 setter/字段也包括在内。

但是请注意,对于旧的 Jackson 版本(1.7 和更早版本)没有做第二部分,并且 setter 和 getter 都需要公开。

关于java - 访问器方法是否需要 @JsonProperty 注释?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31381439/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com