如何从GSON更改扩展类中属性的@SerializedName

时间:2012-06-01 22:15:27

标签: java inheritance annotations gson

我有一个这样的课程:

class A {
    @Expose
    @SerializedName("a_id")
    private String id;
}

现在我想创建扩展A的B类,但是在B中,我想将id的SerializedName更改为“b_id”。有没有办法做到这一点?

2 个答案:

答案 0 :(得分:2)

开箱即用是不可能的。您需要编写自定义类型适配器。请参阅Gson用户指南的Custom Serialization and Deserialization部分。

答案 1 :(得分:0)

将@SerializedName(“b_id”)应用于B

中的setter

B班{     private String id;

@SerializedName("b_id")
private void setId(String id);

}