将Map<String, Any>的JSON转换为相应的java/Kotlin对象的最有效方法是什么?现在我不得不像这样使用它,这看起来像是一个愚蠢的实现。gson.fromJson(gson.toJson(mapToConvert), typeToken)个有什么建议吗?
Map<String, Any>
gson.fromJson(gson.toJson(mapToConvert), typeToken)
guz6ccqo1#
您可以使用JsonElement:
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)
1条答案
按热度按时间guz6ccqo1#
您可以使用
JsonElement
:你可以用一个实用函数来使它看起来更好:
那么你可以这样称呼它: