我試圖序列化/反序列化一些案例類到/從Json ...和我遇到麻煩時處理案例類只有一個字段(我使用的播放2.1):如何序列化/反序列化案例類到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] <and>
[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] ^
我知道...包含只是一個字符串沒有多大意義的情況下,類...但我需要序列化/反序列化與上面描述的非常相似的案例類,它來自外部l圖書館。
有什麼想法?我錯過了什麼嗎?任何幫助將非常感激......我越來越瘋狂:-(感謝。
請參閱http://stackoverflow.com/a/20130414/1435971例如,以JSON轉換爲Scala的case類 – prarthan 2013-11-21 20:42:34