2016-04-03 25 views
0

Farklı alanlara dayalı bir alan okumanın bir yolu var mı?Oynat çerçeve - Çapraz alanlar Okuma

case class Person(children: List[String], hasChildren: Boolean) 

Çocukların listeye dayalı hasChildren doldurmak istiyor:

Bu

vaka sınıftır.

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 
    })) 

Ama çocuklara sağlamak rağmen hiçbiri davayı eşleşir ve return false:

Yani şu okur çalıştı.

Neyi yanlış yapıyorum? mümkün mü?

cevap

1

Elbette mümkün. Doğru yönde düşünüyorsunuz (map kullanarak). Okuyucunuz, kasa sınıfı gibi özellikler ve türlerle okuyucu uygulamanız gerekir. Yolda kullanılan özelliklerin isimleri önemli değildir.

Önemli:readNullable[T] arama isteğe bağlı ya da null alan JsPath de (alan bulunamadı veya boş Hiçbiri değil).