case类(作为枚举)和json.reads

v09wglhw  于 2021-07-14  发布在  Java
关注(0)|答案(0)|浏览(174)

我有运营商,他们都有一个名字和价格,我想在上面进行模式匹配,所以我把他们写为案例类:

sealed abstract class Carrier( val name: String = "", val price: Double = 0, val img: Option[String] = None)

case object FREE extends Carrier("Frais de ports offerts via La Poste ou GLS", 0)

case class GLS(override val price: Double) extends Carrier("GLS", price)

case class LA_POSTE(override val price: Double) extends Carrier("Lettre ou colis (via La Poste)", price, Some("laposte-logo.png"))
...

但现在我需要把它们“单独化”。我必须为每个载体写一个格式化程序吗?或者有没有一种方法可以在 Carrier 上课?
我试过了:

object Carrier {
  implicit val fmtCarrier: Format[Carrier] = Json.format[Carrier]
}

但它没有编译,它说:

No instance of Reads is available for models.order.FREE in the implicit scope

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题