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;
}