import com.google.gson.annotations.SerializedName
class Parent {
@SerializedName("home_town")
private String homeTown;
// getters & setters
}
class Child extends Parent {
}
когда мы проверяем / печатаем / регистрируем объект child , он имеет что-то вроде:
{"homeTown":"blahblah"}
, тогда как мы ожидаем:
{"home_town":"blahblah"}
Теперь, если мы переопределим метод получения класса Parent в классе Child и аннотируем, используя @JsonProperty("home_town")
, тогда он будет работать
import com.fasterxml.jackson.annotation.JsonProperty
class Child extends Parent {
@Override
@JsonProperty("home_town")
public String getHomeTown(){
return super.getHomeTown();
}
}
Я ожидал, что @SerializedName
в первую очередь должен был бы работать и с классом Child. через наследование , я немного озадачен, почему он работал только путем переопределения метода получения и аннотирования с помощью @JsonProperty
Благодарим вас за помощь!