jbr*_*own 2 json scala playframework
我正在尝试为包含单个属性的案例类隐式创建JSON读取,但我收到错误"Reads [Nothing]不符合预期类型".这是代码:
import play.api.libs.functional.syntax._
import play.api.libs.json.Reads._
import play.api.libs.json.{JsPath, Json, Reads}
case class Feedback(message: String)
object Feedback {
implicit val reads: Reads[Feedback] = (
(JsPath \ "message").read[String](maxLength[String](2000))
)(Feedback.apply _)
}
Run Code Online (Sandbox Code Playgroud)
为什么这不起作用?如果我向case类添加额外的属性,并且多个.read调用与and它连接起作用......
Json组合器不适用于单场案例类.
您可以执行以下操作:
import play.api.libs.json.Reads._
import play.api.libs.json.{__, Reads}
case class Feedback(message: String)
object Feedback {
implicit val reads: Reads[Feedback] = (__ \ "message")
.read[String](maxLength[String](2000)).map {message => Feedback(message)}
}
Run Code Online (Sandbox Code Playgroud)
这是因为当前的宏实现存在局限性.你可以在这里阅读更多相关信息:Pacal是这个API的作者
| 归档时间: |
|
| 查看次数: |
949 次 |
| 最近记录: |