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)