Мне нужно получить простое решение для сериализации 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?
Или вы порекомендовали бы любую другую автономную библиотеку, которая будет обрабатывать мое дело более или менее полностью автоматически? Мне все равно, работает ли это с макросами во время компиляции или отражения во время выполнения, если это работает из коробки.