我继承了以下内容:
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...
}
}
Run Code Online (Sandbox Code Playgroud)
getter 和 setter 是否需要重复的 JsonProperty 注释,或者如果我只注释私有成员,jackson 会自动处理序列化/反序列化吗?
在您的示例中,使用默认ObjectMapper
设置,在使用 Jackson 1.8 或更高版本时不需要注释。
Jackson 可以从公共 getter(如“public int getValue()”)、setter(“public void setValue(int v);”和字段(“public int value;”)中自动检测属性。此外,只要一个找到公共 setter、getter 或字段,然后匹配但(否则)不可见的 setter/字段也包括在内。
但是请注意,旧的 Jackson 版本(1.7 及更早版本)没有做第二部分,并且 setter 和 getter 都需要公开。
归档时间: |
|
查看次数: |
8656 次 |
最近记录: |