Итак, у меня есть следующий JSON:
{
"senderEmail" : "sender@email.com",
"recipientEmails" : ["first@email.com", "second@email.com"]
}
и я хочу сопоставить его с классом дел:
case class Payload (senderEmail: String, recipientEmails: Seq[String])
, используя Json Reads Play с валидатором электронной почты.
Хотя для senderEmail
это тривиально, у меня возникают проблемы с recipientEmails
, поскольку он Seq
и электронная почта, поэтому не работает:
implicit val payloadRead: Reads[Payload] = (
(JsPath \ "senderEmail").read[String](Reads.email) and
(JsPath \ "recipientEmails").read[Seq[String]](Reads.seq))(Payload.apply _)
I 'm получение overloaded method value read with alternatives
.
Так как же объединить оба файла Reads.seq и Reads.email?