如何用µPickle序列化通用案例类?

时间:2019-05-06 09:15:49

标签: scala serialization upickle

µPickle docs说通用案例类可以序列化:

  

开箱即用,uPickle支持编写和读取以下类型:

     
      
  • 独立的case classcase object及其通用等效项,
  •   

但是,没有给出任何示例,到目前为止,我无法找到正确的方法。我的尝试是:

import upickle.default._

object Container {
  implicit def rw[T]: ReadWriter[Container[T]] = macroRW
}
case class Container[T](value: T)

object Main extends App {
  val c = new Container(0)

  val cString = write(c)
  println("c " + cString)
}

这失败,并显示错误:

  

错误:(7,50)找不到参数e的隐式值:

     

upickle.default.Reader [T]

     

隐式定义rw [T]:ReadWriter [Container [T]] = macroRW

如何使用µPickle序列化一般案例类?

1 个答案:

答案 0 :(得分:3)

别忘了使用上下文绑定

implicit def rw[T: ReadWriter]: ReadWriter[Container[T]] = macroRW