使用ReactiveMongo播放2.3以序列化JsObject

时间:2017-03-13 12:15:53

标签: playframework-2.3 reactivemongo play-reactivemongo reactivemongo-play-json

我有一个这样的案例类:

case class MemberOptions(
  @Key("_id") memberId: Long,
  settingsJson: JsObject,
  updateDate: DateTime = DateTime.now()
)

如何序列化和反序列化JsObject?我试图寻找写作和阅读,但还没有找到。有一个插件 reactivemongo-play-json ,但仅适用于2.4。

如果没有更好的解决方案,我决定转换为String。

import reactivemongo.bson._

implicit object JsObjectHandler extends BSONHandler[BSONString, JsObject] {
  override def read(bson: BSONString): JsObject = Json.parse(bson.value).as[JsObject]
  override def write(jsObject: JsObject): BSONString = BSONString(jsObject.toString)
}

implicit val handler = Macros.handler[MemberOptions]

0 个答案:

没有答案