猿问

将地图转换为数据类

Kotlin 中是否有一种简单的方法可以让我将 Map 转换为任意数据类?

我试图转换的地图具有数据类所需字段的所有键。

我四处寻找,但找不到任何似乎以非常通用的方式谈论这样做的事情。

我知道我可以使用ObjectMapper,但这需要一个额外的库。寻找仅在 Kotlin 中可用的东西。


aluckdog
浏览 108回答 3
3回答

MMMHUHU

为什么不只使用地图委托?class MyData(val map: Map<String, String>) {&nbsp; &nbsp; val foo by map&nbsp; &nbsp; val bar by map}或者您可以使用伴随对象包装它并使用 MyData.from(mymap)data class MyData(val foo: String, val bar: String) {&nbsp; &nbsp; companion object {&nbsp; &nbsp; &nbsp; &nbsp; fun from(map: Map<String, String>) = object {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; val foo by map&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; val bar by map&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; val data = MyData(foo, bar)&nbsp; &nbsp; &nbsp; &nbsp; }.data&nbsp; &nbsp; }
随时随地看视频慕课网APP

相关分类

Java
我要回答