Мне нужно получить простое решение для сериализации JSON с минимальной церемонией. Поэтому я был очень рад найти эту готовую библиотеку Play 2.2. Это отлично работает с классами простых случаев, например
import play.api.libs.json._
sealed trait Foo
case class Bar(i: Int) extends Foo
case class Baz(f: Float) extends Foo
implicit val barFmt = Json.format[Bar]
implicit val bazFmt = Json.format[Baz]
Но выполняется следующее:
implicit val fooFmt = Json.format[Foo] // "No unapply function found"
Как настроить предполагаемый отсутствующий экстрактор для Foo
?
Или вы порекомендовали бы любую другую автономную библиотеку, которая будет обрабатывать мое дело более или менее полностью автоматически? Мне все равно, работает ли это с макросами во время компиляции или отражения во время выполнения, если это работает из коробки.