#android #kotlin #retrofit
Не могу понять, как обработать такие ответы от сервера: { "id":1 "value":false } { "id":1 "value":"text"} { "id":1 "value":12345 } Эти ответы могут быть от одного и того же метода. Как в этом случае я должен создать класс модели, при условии, что эта модель должна будет реализовать интерфейс Parcelabe? Язык - Kotlin
Ответы
Ответ 1
Если вы привели все возможные типы данных в поле, то можно указывать тип для value как String. После надо будет вручную проверять на этапе исполнения в какой тип можно распарсить значение. Если там может быть ещё и массив - то тип должен быть Any. А самое правильное решение - объяснить людям, пишущим сервер, что на вашей стороне - статически типизируемый язык и вы не можете комфортно парсить такие структуры данных в отличие от php, js, python. Чтобы вам было комфортно на бэке должны добавить поле в ответ, в коем будет содержаться тип значения value - тогда вы сможете написать адаптер для парсинга JSON который будет в зависимости от значения парсить в одну или другую модель данных.
Комментариев нет:
Отправить комментарий