我在 Scala 中使用 play2.1.1 并且我正在尝试创建一个 Writes[IndexResults[T]] ,其中可以在此文件末尾找到 IndexResults[T] 的定义。
我的代码:
import com.github.cleverage.elasticsearch.ScalaHelpers._
import com.github.cleverage.elasticsearch._ // used for others stuffs
...
val writeResults: Writes[ScalaHelpers.IndexResults[T]] = (
(__ \ "totalCount").write[Long] and
(__ \ "pageSize").write[Long] and
(__ \ "pageCurrent").write[Long] and
(__ \ "pageNb").write[Long] and
(__ \ "results").write[List[T]](writes)
)(unlift(ScalaHelpers.IndexResults[T].unapply))
我的错误:
overloaded method value write with alternatives:
[error] (t: List[T])(implicit w: play.api.libs.json.Writes[List[T]])play.api.libs.json.OWrites[play.api.libs.json.JsValue] <and>
[error] (implicit w: play.api.libs.json.Writes[List[T]])play.api.libs.json.OWrites[List[T]]
[error] cannot be applied to (play.api.libs.json.Writes[T])
[error] (__ \ "results").write[List[T]](writes) ^
我无法弄清楚为什么它不起作用,并且该错误对我来说没有任何意义。拥有通用 scala json 编写器的正确方法是什么以及我应该如何使用它?
PS:官方文档对我帮助不大。
谢谢