Преобразование карты к классу данных

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
    }

рекомендация

отhttp://43.154.161.224:23101/article/api/json?id=223200&siteId=1
рекомендация