2014-10-15 14 views
9

JSON okuyucusu ile bir nesne oluştururken sabit bir değer kullanmak istiyorum.Scala'da Sabit Değer Oyna JSON Okur

case class UserInfo(
    userId: Long = -1, 
    firstName: Option[String] = None, 
    lastName: Option[String] = None 
) 

Ve okuma olurdu:

Örneğin sınıf olacağını

implicit val userRead: Reads[UserInfo] = (
     (JsPath \ "userId").read[Long] and 
     (JsPath \ "firstName").readNullable[String] and 
     (JsPath \ "lastName").readNullable[String] 
    )(UserInfo.apply _) 

Ama JSON nesnesi KullanıcıNo için değerini belirtmek zorunda kalmak istemiyoruz. Reads'ı kodlamakla ilgili olarak, -1 değeri her zaman okunan JSON nesnesinde belirtmeden UserInfo nesnesinde her zaman oluşturulsun mu?

cevap

9

Kullanım Reads.pure

implicit val userRead: Reads[UserInfo] = (
    Reads.pure(-1L) and 
    (JsPath \ "firstName").readNullable[String] and 
    (JsPath \ "lastName").readNullable[String] 
)(UserInfo.apply _) 
0

teşekkürler!

implicit val userRead: Reads[UserInfo] = (
    Reads.pure(-1:Long) and 
    (JsPath \ "firstName").readNullable[String] and 
    (JsPath \ "lastName").readNullable[String] 
)(UserInfo.apply _) 
:

Bir Long zorlamak tek küçük bir değişiklik yapmak zorunda kaldı

İlgili konular