Gson Map <String, Any> to Object

Каков наиболее эффективный способ преобразования JSON в формате Map<String, Any> в соответствующий объект java / kotlin?

Пока я должен использовать его так, как будто это глупая реализация.

gson.fromJson(gson.toJson(mapToConvert), typeToken)

Какие-либо предложения?

Вы можете использовать JsonElement :

 val jsonElement = gson.toJsonTree(map) val foo = gson.fromJson(jsonElement, Foo::class.java) 

Вы можете сделать это лучше с помощью служебной функции:

 inline fun <reified T : Any> Gson.fromMap(map: Map<*, *>) { return fromJson(toJsonTree(map, T::class.java) } 

Затем вы можете вызвать его так:

 gson.fromMap<Foo>(map)