Smnime:
Есть простой способ в Котлин, чтобы позволить мне преобразовать карту в произвольном классе данных?
Карта Пытаюсь обращенным имеет все ключи от требуемых полей класса данных.
Я охотился вокруг, но не смогли найти ничего, что, кажется, говорить об этом в очень общем виде.
Я знаю , что я могу использовать ObjectMapper
, но это требует дополнительных библиотек. Глядя на то , что доступно только с Котлин.
брюзга:
Почему бы просто не использовать карту делегат?
class MyData(val map: Map<String, String>) {
val foo by map
val bar by map
}
Или вы можете обернуть его с помощью объекта компаньона и вызвать его с помощью MyData.from(mymap)
data class MyData(val foo: String, val bar: String) {
companion object {
fun from(map: Map<String, String>) = object : {
val foo by map
val bar by map
val data = MyData(foo, bar)
}.data
}