У меня есть класс, как это:Как изменить @SerializedName, из GSON, атрибута в расширенном классе
class A {
@Expose
@SerializedName("a_id")
private String id;
}
Теперь я хочу создать класс B, который расширяет, но, в B, I хотите изменить SerializedName id на "b_id". Есть ли способ сделать это?
Разве это не сломает договор класса? Объект класса B был бы экземпляром класса B (из-за наследования), но не предлагал бы поле id, которое предлагает объект класса A ... – SJuan76
Я понимаю вашу идею, но я так не думаю, потому что аннотации меняют характеристики атрибута , как геттеры и сеттеры, поэтому теоретически я могу сделать это в дочернем классе. – tpcordeiro
Например, Hibernate позволяет мне [Hibernate inheritance] (http://viralpatel.net/blogs/2011/12/hibernate-inheritance-table-per-concrete-class-annotation-xml-mapping.html) См. «Наследование Hibernate Inheritance : Annotation Mapping ", где @Inheritance делает трюк. Я просто хочу знать, имеет ли GSON ту же функцию. – tpcordeiro