すごく単純なことですが、メモします。
val jo: JsObject = Json.obj("name" -> "hoge")
// JsObject => JsValue
val jv: JsValue = Json.toJson(jo)
// JsValue => JsObject
val jvo: JsObject => jv.as[JsObject]
// case class
case class User(name: String)
implicit val userJson = Json.format[User]
val user: User = User("hoge")
val jvUser: JsValue = Json.toJson(user)
val oUser: User = jvUser.as[User]