Gson Map to Object
将Map
格式的JSON转换为相应的java / kotlin对象的最有效方法是什么?
现在我必须像这样使用它,这似乎是一个愚蠢的实现。
gson.fromJson(gson.toJson(mapToConvert), typeToken)
有什么建议么?
你可以使用JsonElement
:
val jsonElement = gson.toJsonTree(map) val foo = gson.fromJson(jsonElement, Foo::class.java)
您可以使用效用函数使其看起来更好:
inline fun Gson.fromMap(map: Map<*, *>) { return fromJson(toJsonTree(map, T::class.java) }
那么你可以这样调用它:
gson.fromMap(map)