0

我目前正在Play Framework 2.3.6使用reactivemongo进行简单的项目,"org.reactivemongo" %% "play2-reactivemongo" % "0.10.5.0.akka23"但我遇到了嵌套结构的问题。

我的目标是映射诸如 JSON 结构(等效于 Scala):

{
    _id: ObjectId,
    url: String,
    description: String,
    visitors: [
        _id: ObjectId,
        isFirstTime: Boolean
    ]
}

我的斯卡拉代码:

import play.api.libs.json.Json
import play.modules.reactivemongo.json.BSONFormats._
import reactivemongo.bson._
import reactivemongo.bson.BSONObjectID

case class Visitor(_id: BSONObjectID, isFirstTime: Boolean)
case class Project(_id: BSONObjectID, url: String, description: String, visitors: List[Visitor])

object JSONFormats {
    implicit val projectFormat = Json.format[Project]
}

在最后一行出现以下错误:"No implicit format for List[models.Visitor] available."

我怎样才能解决这个问题?

4

1 回答 1

1

Visitor. 习惯上,这些应该放在伴随对象中。

object Visitor {
  implicit val fmt = Json.format[Visitor]
}

object Project {
  implicit val fmt = Json.format[Project]
}
于 2014-12-02T20:32:26.490 回答