【发布时间】:2021-08-08 07:30:58
【问题描述】:
参考 [Stackoverflow] Scala: convert map to case class 我尝试复制其中一个响应,但看到以下错误:
Cannot construct instance of 'com.practice.scala.Test' (no Creators, like default construct, exist): cannot deserialize from Object value (no delegate- or property-based Creator) at [Source: UNKNOWN; line: -1, column: -1]
代码:
import com.fasterxml.jackson.databind.ObjectMapper
import com.fasterxml.jackson.module.scala.ScalaObjectMapper
case class Test(k1: Int, k2: String, k3: String)
object Workspace {
def fromMap[T](map: Map[String, Any])(implicit m: Manifest[T]): T = {
val mapper = new ObjectMapper() with ScalaObjectMapper
mapper.convertValue(map)
}
def main(args: Array[String]): Unit = {
val myMap = Map("k1" -> 1, "k2" -> "val2", "k3" -> "val3")
val result = fromMap[Test](myMap)
println(result)
}
}
这个错误说明了什么?我错过了什么吗?
【问题讨论】: