【问题标题】:No Json serializer as JsObject found for type play.api.libs.json.JsObject. Try to implement an implicit OWrites or OFormat for this type找不到类型 play.api.libs.json.JsObject 的 Json 序列化程序作为 JsObject。尝试为此类型实现隐式 OWrites 或 OFormat
【发布时间】:2016-03-16 14:55:52
【问题描述】:

我是 mongodb 和响应式 mongo 的新手,我正在尝试将此示例集成到我的项目 https://github.com/sgodbillon/reactivemongo-demo-app 首先,我只想使用类文章,但是当我集成模型和控制器时,我得到了这个错误:

No Json serializer as JsObject found for type play.api.libs.json.JsObject. Try to implement an implicit OWrites or OFormat for this type.

对于控制器中的这一行:

63    // the cursor of documents
64    val found = collection.find(query).cursor[Article]

【问题讨论】:

  • 可能Article没有隐式阅读器?
  • 请显示query的内容,这应该是JsObject
  • 您是否尝试过按照问题stackoverflow.com/questions/31142366/… 中的说明导入import play.modules.reactivemongo.json._?你使用的是哪个版本的 reactivemongo?

标签: mongodb scala reactivemongo


【解决方案1】:

您是否为Article 实现了写入?

简单的宏一定能帮到你

implicit val articleWrite = Json.writes[Article]

【讨论】:

  • 当然 - 我很困惑您需要写入或格式化而不是读取。我细化回答。你可以实现自己的OWrites,比如implicit val myWrites: OWrites[A] = new OWrites[A] { def writes(a: A) = Json.obj(...) }
猜你喜欢
  • 1970-01-01
  • 2015-09-17
  • 1970-01-01
  • 2015-12-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多