【发布时间】:2019-03-15 18:31:45
【问题描述】:
我有一个想要用作 json 的 Map[String, String] 对象。我已经为这种类型编写了一个编码器:
implicit val encodeMap: Encoder[Map[String, String]] = new Encoder[Map[String, String]] {
override def apply(values: Map[String, String]): Json = {
values.toList
.map(pair => Json.obj(
(pair._1, pair._2.asJson)
)).asJson
}
}
除了编码器,我还需要一个解码器,但我不知道如何编写它。到目前为止我最好的尝试:
implicit val decodeMap: Decoder[Map[String, String]] = new Decoder[Map[String, String]] {
final def apply(c: HCurser): Decoder.Result[Map[String, String]] = ???
}
相当基本,但我真的不知道如何解决这个问题。
谢谢!
【问题讨论】:
-
import io.circe.generic.auto._不只是在这里工作吗(允许你使用.asJson)?