У меня есть три класса UserMini, User и Reply. Пользователь расширяет UserMini, и в ответе содержится один объект UserMini, а также содержимое и другая информация.
Объект UserMini (this.user) создается в классе Reply следующим образом:
private void getUserObject () {
this.user = (UserMini)new User(email, fname, lname, userid...);
}
Класс UserMini хранит только имена и имена пользователей.
Я хочу сделать следующее: вернуть значение JSON класса Reply со всей информацией в нем. Я делаю это с помощью следующего кода в классе ответа:
@Override
public String toString() {
return new Gson().toJson(this);
}
Это отлично работает, отображение JSON всего, что хранится в объекте Reply. Но для объекта UserMini Ответа выводится следующее значение:
user:
accessToken: "0",
email: "email@gmail.com",
firstName: "FirstName",
lastName: "LastName",
picturePath: "Pic_path",
refreshToken: "0",
userId: "2"
Как вы видите, я храню родительский объект в классе Reply, и Gson выводит свойства потомка, несмотря на это.
Я хочу избежать использования адаптеров Gson, есть ли другой способ заставить Gson выводить следующее значение для объекта MiniUser:
user:
firstName: "FirstName",
lastName: "LastName"