Я пытаюсь обновить код. У меня возникли проблемы с этим делом класса пытаются писать тот JSon неявных писателюPlayframework 2.4.x Json write List [(String, String)]
case class TemplateEmailMessage(recipients: List[EmailRecipient], globalEmailVars: List[(String, String)])
Это было так
implicit val templateEmailMessageWrites = new Writes[TemplateEmailMessage] {
def writes(m: TemplateEmailMessage): JsValue = {
val globalVars: List[JsValue] = m.globalEmailVars.map(g => Json.obj("name" -> g._1, "content" ->g._2))
Json.obj(
"to" -> m.recipients,
"global_merge_vars" -> JsArray(globalVars)
)
}
}
Теперь, как это. Очевидно, не работает, потому что тип второго списка поля [(String, String)]
object TemplateEmailMessage {
implicit val templateEmailMessageWrites: Writes[TemplateEmailMessage] = (
(JsPath \ "to").write[List[EmailRecipient]] and
(JsPath \ "global_merge_vars").write[List[(String, String)]]
)(unlift(TemplateEmailMessage.unapply))
}
Я не знаю, как перевести JsArray, потому что до того, как было использовать, чтобы манипулировать значениями в записи. Я должен уйти, как старый, или есть другой способ?
Спасибо