我正在尝试序列化/反序列化一些案例类/从Json …我遇到麻烦,当处理与一个字段的案例类(我正在使用的播放2.1):
import play.api.libs.json._
import play.api.libs.functional.syntax._
case class MyType(type: String)
object MyType {
implicit val myTypeJsonWrite = new Writes[MyType] {
def writes(type: MyType): JsValue = {
Json.obj(
"type" -> MyType.type
)
}
}
implicit val myTypeJsonRead = (
(__ \ 'type).read[String]
)(MyType.apply _)
}
上面的代码总是生成以下错误消息:
[error] /home/j3d/Projects/test/app/models/MyType.scala:34: overloaded method value read with alternatives:
[error] (t: String)play.api.libs.json.Reads[String]
[error] (implicit r: play.api.libs.json.Reads[String])play.api.libs.json.Reads[String]
[error] cannot be applied to (String => models.MyType)
[error] (__ \ 'method).read[String]
[error] ^
我知道…一个只包含一个字符串的case类没有什么意义,但是我需要对一个非常类似于上面描述的外部库的case类进行序列化/反序列化.
任何想法?我错过了什么吗?任何帮助将非常感激…我变得疯狂:-(谢谢.