0

현재 에있는 간단한 프로젝트에서 반응 모델 "org.reactivemongo" %% "play2-reactivemongo" % "0.10.5.0.akka23"으로 작업하고 있으며 중첩 구조에 문제가 있습니다.Reactivemongo 내포 된 JSON 구조체

{ 
    _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."

내 목표는 (스칼라 상당) JSON 구조 등을지도하는 것입니다

어떻게 해결할 수 있습니까?

답변

1

Visitor에 대한 포맷터를 추가하십시오. 관용적으로, 이것들은 동반자 객체에 있어야합니다.

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

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