无法解决循环自定义解码器中的编译时错误

时间:2018-08-27 02:10:58

标签: scala playframework circe

我试图在Circe中为

之类的对象编写自定义编码器和解码器
case class User(id: Long, name: String)

到目前为止,我有

implicit val encodeUser: Encoder[User]= Encoder.instance{
  case User(id, name) => Json.obj(
    "id" -> Json.fromLong(id),
    "name" -> Json.fromString(name)
  )
}

object User{
  implicit val decodeUser: Decoder[User]= Decoder.instance(c =>
  for{
  id <- c.downField("id").as[Long]
  name <- c.downField("name").as[String]
  }yield User(id, name)
  )
}

但是在解码器中,我看到编译错误,该错误表示预期的HCursor [NotInferedA],但发现了HCursor [Any]。无法弄清楚这里发生了什么。我是Circe的Scala的新手。我们非常感谢您的帮助。

0 个答案:

没有答案