Bezgłośny format JSON dla zamkniętych cech z biblioteką Play 2.2

Muszę uzyskać proste rozwiązanie serializacji JSON z minimalną ceremonią. Więc byłem całkiem zadowolony ze znalezieniata nadchodząca biblioteka Play 2.2. Działa to doskonale ze zwykłymi klasami, np.

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]

Ale następujące błędy:

implicit val fooFmt = Json.format[Foo]   // "No unapply function found"

Jak mógłbym założyć rzekomego brakującego ekstraktoraFoo?

Czy poleciłbyś jakąkolwiek inną samodzielną bibliotekę, która w mniejszym lub większym stopniu obsługuje moją sprawę w pełni automatycznie? Nie obchodzi mnie, czy to jest z makrami w czasie kompilacji, czy w czasie wykonywania, tak długo jak działa po wyjęciu z pudełka.

questionAnswers(4)

yourAnswerToTheQuestion