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.