case class ErrorCode(status: Int, message: String)
implicit val errorcodeWriters = new Writes[ErrorCode] {
def writes(errorcode: ErrorCode) = Json.obj (
"status" -> errorcode.status,
"message" -> errorcode.message
)
}
implicit val errorcodeWriters: Writes[ErrorCode] = (
(JsPath \ "status").write[Int] and
(JsPath \ "message").write[String]
)(unlift(ErrorCode.unapply))
implicit val errorcodeReaders: Reads[ErrorCode] = (
(JsPath \ "status").read[Int] and
(JsPath \ "message").read[String]
)(ErrorCode.apply _)
case class Location(lat: Double, long: Double)
val xjson = Json.toJson(ErrorCode(101, "zxcv"))
val status = (xjson \ "status").as[String]
val errcode:JsResult[ErrorCode] = xjson.validate[ErrorCode]
errcode match {
case s: JsSuccess[ErrorCode] => Logger.info(s"deparsed message ${s.get.message}")
case e: JsError => println("Errors: " + JsError.toFlatForm(e).toString)
}
Play framework + Scala + Json
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- 1 JSON开发简介 Play提供了一套基于jackson开发的JSON库,帮助开发者便捷地处理JSON数据。目前...
- 本文作者 Jacek Laskowski 拥有近20年的应用程序开发经验,现 CodiLime 的软件开发团队 L...
- 介绍 本文的目标是通过一个用户登录示例,简要的介绍使用Play进行Web开发的基本流程。本文并不会手把手教你如何创...
- 欢迎来访PlayScala社区(http://www.playscala.cn/) 在开始阅读本文之前,请确保你熟...