读取特征读取的覆盖方法。

时间:2013-03-14 12:11:50

标签: json scala

我正在实现这个User.scala类

class User(var id : Long , var name : String) {

 def createUser() = {}

 def setName(nome : String) : String = {
    this.name = nome
    return name
 }

 def getName() : String = {
    return name
 }
}

object User {

implicit object userFormat extends Format[User] {

  override def reads(json: JsValue): User = new 
  User(

      (json \ "id").as[Long],

      (json \ "name").as[String]

  )

   override def writes(s: User): JsValue = JsObject(Seq(
        "id" -> JsString(s.id.toString),
        "name" -> JsString(s.name)
    ))   
  }
}

但是在读取方法时我得到了这个错误: 重写方法读取特征读取类型(json:play.api.libs.json.JsValue)play.api.libs.json.JsResult [models.User];
方法读取具有不兼容的类型

我不想使用案例类(或者问题会解决), 任何人都可以给我一个关于该做什么的提示吗?

感谢。

1 个答案:

答案 0 :(得分:10)

你应该在JsResult中包装“User”对象,在这种情况下JsSuccess

JsSuccess(new User(...))