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.

Antworten auf die Frage(4)

Ihre Antwort auf die Frage