Я новичок в библиотеке Gson, не знаю, почему этот объект для json-конвертера работает странно. У меня есть код что-то похожее на этоGSon не правильно сериализуется с наследованием
public class A implements Serializable{
@Expose
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
public class B extends A implements Serializable{
@Expose
private int x;
public int getX() {
return x;
}
public void setX(int x) {
this.x = x;
}
}
public class MainclassTester{
public static void main(String[] args){
public B b = new B();
b.setName("Point");
b.setX(2);
final Gson gson = new GsonBuilder().create();
System.out.println(gson.toJson(b));
}
}
Я хочу выходной быть что-то вроде этого
{
"name":'Point',
"x":2
}
но я получить выход
{
"name":'Point'
}
Мои подклассов переменные не Сериализированная правильно ,
проверить это http://stackoverflow.com/questions/19588020/gson-serialize-a-list-of-polymorphic-objects/22081826#22081826 –
, какую версию вы используете: ??? wih gson 2.7 работает нормально! –
Пробовал 2.6.2 и работал отлично, кстати, вы не используете 'public' для переменной внутри метода: public B b = new B();' – shizhz