奇妙なことに、Intellij IDEA 12がインポートを認識せず、インポートを最適化したときに
import play.modules.reactivemongo.json.BSONFormats._
エラーを引き起こした削除されました。
カスタムのFormatオブジェクトを作成して、BSONObjectIDを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")
}
}
ただし、この場合はインポートで十分です。