【发布时间】:2020-12-15 00:39:43
【问题描述】:
我正在尝试将class ResponseResult 编码为 json
case class ResponseResult (var Code : Int,
var Message: String,
var Data: Any )
var json = ResponseResult(1, "2", List(3,4,5)).asJson
我收到一个错误找不到参数编码器的隐含值:io.circe.Encoder[ResponseResult]
然后我创建编码器
object ResponseResult {
implicit val encodeResult: Encoder[ResponseResult] =
Encoder.forProduct3[ResponseResult, Int, String, Any]("Code", "Message", "Data") {
case ResponseResult(c, m, d) => (c, m, d.toString)
}
}
我得到一个错误找不到参数编码器的隐含值:Encoder[Any]
这是我的完整代码
import io.circe.Encoder
import io.circe.generic.auto._
import io.circe.syntax._
object a {
case class ResponseResult (var Code : Int,
var Message: String,
var Data: Any )
object ResponseResult {
implicit val encodeResult: Encoder[ResponseResult] =
Encoder .forProduct3[ResponseResult, Int, String, Any]("Code", "Message", "Data") {
case ResponseResult(c, m, d) => (c, m, d.toString)
}
}
def main(args: Array[String]): Unit = {
var json = ResponseResult(1, "2", List(3,4,5)).asJson
}
}
任何人都可以告诉我如何编码class ResponseResult。
谢谢
【问题讨论】:
-
你没有理由在这里使用
vars。