如何在抽象类型上实现隐式格式?

时间:2015-06-01 23:15:31

标签: json scala playframework-2.0 json-deserialization

我有一个带有两个子类的抽象类。我希望能够在一种类型(超级)下序列化/反序列化子类,以便更大的类可以在一个字段下具有不同类型的数据。这是场景:

abstract class FooBar {
  val kind: String
}

case class Foo(kind: String, name: String) extends FooBar

case class Bar(kind: String, name: String, age: Int) extends FooBar

case class BigClass(name: String, foobar: Foobar)

object BigClass {
  implicit def format = (
    (__ \ 'name).format[String] and
    (__ \ 'foobar).format[FooBar]
}

BigClass.foobar将始终是de / serializable类型,但FooBar不是。我该如何实现呢?

0 个答案:

没有答案