0

我目前在Play Framework 2.3.6与reactivemongo "org.reactivemongo" %% "play2-reactivemongo" % "0.10.5.0.akka23"在简单的项目上工作,我有嵌套结构的问题。Reactivemongo嵌套JSON结构

我的目标是这样的映射为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."

我该如何解决这个问题?

回答

1

添加一个格式为Visitor。在习惯上,这些应该放在伴侣对象中。

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

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