Deserialisierung von Case-Objekten in Scala mit JSON4S
Ich habe einige Fallklassen wie folgt definiert:
sealed trait Breed
case object Beagle extends Breed
case object Mastiff extends Breed
case object Yorkie extends Breed
case class Dog(name: String, breed: Breed)
Ich habe auch einen Endpunkt mit Scalatra definiert:
post("/dog") {
val dog = parsedBody.extract[Dog]
...
}
Ich möchte dieses JSON-Objekt:
{
name: "Spike",
breed: "Mastiff"
}
zum Deserialisieren auf die entsprechende Instanz vonDog
. Ich habe Mühe, herauszufinden, wie ich einen benutzerdefinierten Deserializer für @ schreiben kanBreed
und registriere es bei JSON4S.