0

我在 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:官方文档对我帮助不大。

谢谢

4

0 回答 0