Вы можете использовать @JsonCreator
аннотацию, чтобы указать, как построить свой объект.
@JsonIgnoreProperties(ignoreUnknown = true)
public class MyPojo {
private final String fieldName;
// Jackson version
@JsonCreator
public static MyPojo of(
@JsonProperty("field_name") final String fieldName1,
@JsonProperty("fieldName") final String fieldName2) {
final String name = fieldName1 != null ? fieldName1 : fieldName2;
return of(name);
}
// Programmatic version that you can use from code
public static MyPojo of(
@JsonProperty("fieldName") final String fieldName) {
return new MyPojo(fieldName);
}
private MyPojo(final String fieldName) {
this.fieldName = fieldName;
}
public String fieldName() {
return fieldName;
}
}
Ваш POJO будет аккуратным и чистым (без дубликатов полей) и создание кода отделяется хорошо.