@SerializedName не отражается в классе Child - PullRequest
1 голос
/ 28 апреля 2020
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

Благодарим вас за помощь!

...