Java Jackson子类重写字段
我有两门课Java Jackson子类重写字段,java,jackson,Java,Jackson,我有两门课 public class A { protected String id; } 及 我们为B类接收的JSON具有不同名称的id,是否有方法告诉jackson在B类中使用与在a类中不同的id属性名称?Obe方法是使用“任意setter”功能,其中jackson被告知为所有“未知”属性调用一个方法。然后,您可以自己完成作业: public class B extends A { // all unknown properties will go here @JsonA
public class A {
protected String id;
}
及
我们为B类接收的JSON具有不同名称的id,是否有方法告诉jackson在B类中使用与在a类中不同的id属性名称?Obe方法是使用“任意setter”功能,其中jackson被告知为所有“未知”属性调用一个方法。然后,您可以自己完成作业:
public class B extends A {
// all unknown properties will go here
@JsonAnySetter
public void setUnknownProperty(String key, Object value) {
if (key.equals("anotherNameForId")) {
id = (String)value;
}
}
我用的是龙目山
@Getter(onMethod = @__( @JsonProperty("id")))
B班呢
@Override
@JsonProperty("bID")
public String getId(){
return this.id;
}
变量可能声明为
protected
,这是个好主意,我找到了一个稍微轻一点的解决方案。我想你说你收到了json,这意味着调用了setter?是的,我们收到了json,但jackson可以在getter上为字段使用注释
@Override
@JsonProperty("bID")
public String getId(){
return this.id;
}