我目前正在使用reactivemongo Play Framework 2.3.6
处理"org.reactivemongo" %% "play2-reactivemongo" % "0.10.5.0.akka23"
中的简单项目,我遇到嵌套结构问题。
我的目标是映射诸如JSON结构(与Scala等效):
{
_id: ObjectId,
url: String,
description: String,
visitors: [
_id: ObjectId,
isFirstTime: Boolean
]
}
我的Scala代码:
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."
我该如何解决这个问题?
答案 0 :(得分:1)
为Visitor
添加格式化程序。通俗地说,这些应该放在配套对象中。
object Visitor {
implicit val fmt = Json.format[Visitor]
}
object Project {
implicit val fmt = Json.format[Project]
}