Convertir un mapa a una clase de datos

Smnime:

¿Hay un método fácil de Kotlin que me permita convertir un mapa a una clase de datos arbitraria?

El mapa que estoy tratando de convertir tiene todas las llaves de los campos obligatorios de la clase de datos.

He cazado alrededor, pero no he sido capaz de encontrar cualquier cosa que parece hablar de hacer esto de una manera muy genérica.

Sé que puedo utilizar ObjectMapper, pero que requiere una biblioteca adicional. Buscando algo que está disponible solo con Kotlin.

aguafiestas:

¿Por qué no sólo tiene que utilizar un delegado mapa?

class MyData(val map: Map<String, String>) {
    val foo by map
    val bar by map
}

O se puede envolver con un objeto compañero y llamarlo usando 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
    }

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=223208&siteId=1
Recomendado
Clasificación