@@ SerializedName不反映在子类上

问题描述 投票:1回答:1
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"}

现在,如果我们在Child类中重写Parent类的getter方法并使用@JsonProperty("home_town")进行注释,则可以使用

import com.fasterxml.jackson.annotation.JsonProperty

class Child extends Parent {
  @Override
  @JsonProperty("home_town")
  public String getHomeTown(){
    return super.getHomeTown();
  }
}

我一直期望@SerializedName首先也应该通过inheritance与Child类一起工作,我对此感到疑惑的是,为什么它仅通过覆盖getter方法并使用@JsonProperty进行注释而起作用”>

感谢您的帮助!

import com.google.gson.annotations.SerializedName类class Parent {@SerializedName(“ home_town”)private String homeTown; // getters&setters}类当我们...

java gson fasterxml
1个回答
0
投票

我已经通过对父类中的所有getter使用@JsonProperty来解决它,如下所示:

© www.soinside.com 2019 - 2024. All rights reserved.