使用Jackson Kotlin Module 当前版本,如果您导入完整的模块包或特定的扩展功能,则将提供所有扩展方法。如:
import com.fasterxml.jackson.module.kotlin.* val JSON = jacksonObjectMapper() // keep around and re-useval myList: List<String> = JSON.readValue("""["a","b","c"]""")因此,用于Kotlin的Jackson模块将推断出正确的类型,并且您不需要
TypeReference实例。
因此,您的情况(稍微重命名并修复了数据类和JSON):
import com.fasterxml.jackson.module.kotlin.readValuedata class MyData(val a: String, val b: Int)val JSON = jacksonObjectMapper()val jsonStr = """[{"a": "value1", "b": 1}, {"a": "value2", "b": 2}]"""val myList: List<MyData> = JSON.readValue(jsonStr)您也可以使用以下形式:
val myList = JSON.readValue<List<MyData>>(jsonStr)
如果没有导入,则会出现错误,因为找不到扩展功能。



