Если ваш json результат изменится в зависимости от результата, в первую очередь ваш бэкэнд делает плохую работу, тогда вам придется немного "взломать" ваше приложение, чтобы адаптировать код ...
Ваш класс POJO должен быть:
data class MyResponse(
val aResponse: AResponse
)
data class AResponse(
val listOfSomething: Any
)
Вы можете объявить его как Any
, что не является хорошей практикой, но это обходной путь, чтобы заставить его работать в соответствии с вашим бэкэндом. Это как в Java добавление Object
Тогда вы можете сделать что-то в своем onResponse
@Override
fun onResponse(response: Response<MyResponse>) {
if (response.isSuccess()) {
if (response.listOfSomething is String) {
//do something with the String
} else {
//do something with the List
}
}
}