在递归选项列表上播放延迟写入

Sri*_*vas 3 json scala playframework playframework-2.0

如何准备(播放框架,scala)Json写了一个对象列表的选项,例如

case class Person(name: String, age: Int, relations: Option[List[Person]])
Run Code Online (Sandbox Code Playgroud)

我尝试了以下写作

implicit val personWrites: Writes[Person] = (
    (__ \ "name").write[String] and
    (__ \ "age").write[Int] and
    (__ \ "relations").lazyWrite[Option[Writes.traversableWrites[Person](personWrites)]])(unlift(Person.unapply))
Run Code Online (Sandbox Code Playgroud)

它无法正常工作,有人可以用正确的方式帮助我创建这些Json写入

the*_*met 8

你很亲密:

implicit val personWrites: Writes[Person] = (
  (__ \ "name").write[String] and
  (__ \ "age").write[Int] and
  (__ \ "relations").lazyWriteNullable(Writes.traversableWrites(personWrites)))(unlift(Person.unapply))
Run Code Online (Sandbox Code Playgroud)