Gibt es eine Möglichkeit, ein Feld basierend auf anderen Feld zu lesen?Play Framework - Cross Felder Lesen
Dies ist der Fall Klasse:
case class Person(children: List[String], hasChildren: Boolean)
Ich möchte hasChildren auf der Kinder-Liste füllen basiert.
Also habe ich versucht, die folgenden Wortlaut:
implicit val personReads: Reads[Person] = (
(JsPath \ "children").readNullable[List[String]].map(_.getOrElse(List())) and
(JsPath \ "hasChildren").read[Boolean](
(JsPath \ "children").readNullable[List[String]].map{
case Some(opt) => opt.nonEmpty
case None => false
}))
Aber obwohl ich Kinder bieten passt es die None Fall und false zurück.
Was mache ich falsch? ist es möglich?