Десериализация объекта Kotlin на основе свойства EnumAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Десериализация объекта Kotlin на основе свойства Enum

Сообщение Anonymous »

Я работаю над приложением для Android, в котором получаю некоторые данные из API с двумя свойствами: одно — это перечисление, описывающее данные, а другое — значение. Проблема, с которой я столкнулся, заключается в том, что значение может иметь разные типы в зависимости от перечисления, которому оно соответствует. API возвращает JSON, который выглядит следующим образом:

Код: Выделить всё

[ {type: name, value: "bob"}, {type: height, value: 70}, {type: weight, value: 160.25}, {type: metric, value: false} ]
Итак, у меня есть объект данных, который выглядит примерно так:

Код: Выделить всё

data class Info(val type: InfoType, val value: (Not sure what to do here))
где InfoType — это перечисление, которое выглядит примерно так:

Код: Выделить всё

enum class InfoType { NAME, HEIGHT, WEIGHT, METRIC }
Как мне обработать эти данные? Есть ли способ установить тип данных value на основе InfoType?

Подробнее здесь: https://stackoverflow.com/questions/792 ... m-property
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»