Dziwne! Mój Intellij IDEA 12 nie rozpoznał importu, a kiedy zoptymalizowałem importy
import play.modules.reactivemongo.json.BSONFormats._
został usunięty, co spowodowało błąd.
Można również utworzyć niestandardowy obiekt Format, aby przetłumaczyć BSONObjectID na json.
implicit object BSONObjectIDFormat extends Format[BSONObjectID] {
def writes(objectId: BSONObjectID): JsValue = JsString(objectId.toString())
def reads(json: JsValue): JsResult[BSONObjectID] = json match {
case JsString(x) => {
val maybeOID: Try[BSONObjectID] = BSONObjectID.parse(x)
if(maybeOID.isSuccess) JsSuccess(maybeOID.get) else {
JsError("Expected BSONObjectID as JsString")
}
}
case _ => JsError("Expected BSONObjectID as JsString")
}
}
Ale w tym przypadku wystarczy import.