Существует родительский класс и дочерний класс, который его расширяет. Я установил значения, как указано в приведенном ниже коде, внутри класса Lion и добавил их в список объектов Animals. «Тип» является частью класса «Животные», а «Имя» является частью класса «Лев». Но при конвертации в JSON данные в классе Lion («Имя») теряются. Как решить эту проблему?
public class Animals implements Serializable {
private static final long serialVersionUID = 1L;
private String type;
//getters and setters
}
public class Lion extends Animals implements Serializable {
private static final long serialVersionUID = 1L;
private String name;
//getters and setters
}
public class Zoo implements Serializable {
private static final long serialVersionUID = 1L;
private List<Animals> listOfAnimals;
//getters and setters
}
//method to implement logic
public String createZoo(){
Lion lion= new Lion();
Zoo zoo=new Zoo();
List<Animals> list= new ArrayList<Animals>();
lion.setName("Alex");
lion.setType("Mammal");
list.add(lion); //which should be working fine since Lion extends Animal
zoo.setListOfAnimals(list);
//converting to JSON
Gson gson = new Gson();
String jsonString = gson.toJson(zoo);
return jsonString;
}