1

如果类构造函数不可用,是否可以编写其他属性?

case class Task(var name:String, var counter:Int) extends Entity

通过实体案例类扩展也有 id 属性

implicit val task = (
    (__ \ 'name).write[String] and
    (__ \ 'counter).write[Int] and
    (__ \ 'id).write[String] <==== ???
)(unlift(Task.unapply))

如何添加此属性?

4

1 回答 1

1

您可以像这样定义您的写入:

implicit val writer = new Writes[Task] {
  def writes(t: Task): JsValue = {
    Json.obj("name" -> t.name,
      "counter" -> t.counter,
      "id" -> t.getIdFromSomewhere) //here's the thing you want
  }
}
于 2014-02-27T13:41:14.530 回答