Я работаю над приложением для 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