作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
"succ-6ren">
我试图概括我用于从 Play 操作返回 Json 的函数之一。
我目前这样做:
def JsendOkObj(obj: JsValue) = Ok(Json.obj("status" -> "success", "data" -> obj))
JsendOkObj(Json.toJson(myObj))
def JsendOkObj[A](obj: A) = Ok(Json.obj("status" -> "success", "data" -> Json.toJson(obj)))
JsendOkObj(myObj)
Json.toJson
是
defined作为:
def toJson[A](implicit arg0: Writes[A]): Enumeratee[A, JsValue]
A
定义一个 Writes| .这是不可能的,因为我不知道是哪种类型
A
实际上最终会是:
No Json deserializer found for type A. Try to implement an implicit Writes or Format for this type.
最佳答案
您可以确保隐式 Writes[A]
当您调用 toJSon
时将在范围内通过向您自己的方法添加隐式参数列表,如下所示:
def JsendOkObj[A](obj: A)(implicit w: Writes[A]) =
Ok(Json.obj("status" -> "success", "data" -> Json.toJson(obj)))
toJson
:
def JsendOkObj[A](obj: A)(implicit w: Writes[A]) =
Ok(Json.obj("status" -> "success", "data" -> Json.toJson(obj)(w)))
def JsendOkObj[A: Writes](obj: A) =
Ok(Json.obj("status" -> "success", "data" -> Json.toJson(obj)))
关于scala - 带有隐式参数的泛型函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14581757/
我是一名优秀的程序员,十分优秀!