JSON コンビネータを使用する場合、ドキュメントlazyWrite
に記載されているように使用して再帰構造を作成できます。
implicit lazy val userWrites: Writes[User] = (
(__ \ "name").write[String] and
(__ \ "friends").lazyWrite(Writes.seq[User](userWrites))
)(unlift(User.unapply))
書き込みの実装中にそれを行うことは可能ですか、つまり:
implicit lazy val userWrites: Writes[User] = new Writes[User]{
def writes(user: User) = Json.obj(
"name" -> user.name,
"friends" -> ??????
)
}