我有2个班级
public class A {
protected String id;
}
和
public class B extends A {
private String bval;
}
我们收到的B类的JSON有一个不同名称的id,是否有办法告诉jackson在classB中使用不同的属性名而不是在classA中?
答案 0 :(得分:0)
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;
}
}
答案 1 :(得分:0)
我在使用lombok
@Getter(onMethod = @__( @JsonProperty("id")))
和B组
@Override
@JsonProperty("bID")
public String getId(){
return this.id;
}