【问题标题】:diverging implicit expansion for type io.circe.Encoder[scala.collection.immutable.Map[Int,Any]]io.circe.Encoder[scala.collection.immutable.Map[Int,Any]] 类型的发散隐式扩展
【发布时间】:2018-01-23 02:01:02
【问题描述】:

我写了这段代码

import io.circe._, io.circe.generic.auto._, io.circe.parser._, io.circe.syntax._
Map(1 -> 1, 2 -> "a").asJson.toString

但我收到以下错误

cmd35.sc:1: diverging implicit expansion for type 
io.circe.Encoder[scala.collection.immutable.Map[Int,Any]]
starting with method encodeMapLike in object Encoder
val res35 = Map(1 -> 1, 2 -> "a").asJson.toString
                              ^

【问题讨论】:

  • 你会期待什么而不是错误?

标签: json scala circe


【解决方案1】:

您不能直接使用 circe 序列化 Map[Int, Any]。如果 IntString 仅允许用于值,则使用 Map[Int, Either[Int, String]] 代替自定义 Encoder,如 here

【讨论】:

    猜你喜欢
    • 2017-12-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-07
    • 2014-01-01
    相关资源
    最近更新 更多