我试图在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的新手。我们非常感谢您的帮助。