Можно ли десериализовать следующий JSON
{
"operation": "create", // type discriminator
"value": "some text",
"source": {
"name": "source name",
"kind": "db" // type discriminator
}
}
для следующего набора классов
sealed trait Source
case class DbSource(name: String) extends Source
sealed trait Operation
case class CreateOperation(value: String, source: Source) extends Operation
, используя Json4s, не прибегая к пользовательским десериализаторам?