Как сериализовать / десериализовать классы дел в / из Json в Play 2.1

Я пытаюсь сериализовать / десериализовать некоторые классы дел в / из Json ... и у меня возникают проблемы при работе с классами дел только с одним полем (я использую Play 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]                        ^

Я знаю ... класс case, содержащий только строку, не имеет особого смысла ... но мне нужно сериализовать / десериализовать класс case, очень похожий на тот, который я описал выше, который поступает из внешней библиотеки.

Любая идея? Я что-то пропустил? Любая помощь будет очень признательна ... Я схожу с ума :-( Спасибо.

Ответы на вопрос(3)

Ваш ответ на вопрос