0

是否可以从 JSON 中获取底层的 hlist 表示circe形式?本质上将案例类转换为 HList

注意:我知道这可以直接使用 shapeless 实现,我想尝试circe's基于宏的解析器,因为我遇到了 shapeless 的性能问题。

4

1 回答 1

1

为什么你认为有任何“来自”的“底层 hlist 表示circe”?

什么circe是将a解析String成JSON,引入类型类DecoderEncoder

trait Encoder[A] extends Serializable { self =>
  def apply(a: A): Json
//...
}

trait Decoder[A] extends Serializable { self =>
  def apply(c: HCursor): Decoder.Result[A]
//...
}

使用shapeless. _ 例如,这意味着如果我们有Decoder[H]Decoder[T]那么我们有Decoder[H :: T]。但是除了Jsoncirce之外,没有其他案例类的底层表示。

circe不会将 case 类转换为HList,shapeless会。

于 2017-10-26T20:29:22.607 回答