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
    ]
}

私の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."

どうすればこれを修正できますか?

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 に答える