将 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)
关于java - Gson Map<String, Any> 到对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47904146/