是否可以从 JSON 中获取底层的 hlist 表示circe
形式?本质上将案例类转换为 HList
注意:我知道这可以直接使用 shapeless 实现,我想尝试circe's
基于宏的解析器,因为我遇到了 shapeless 的性能问题。
为什么你认为有任何“来自”的“底层 hlist 表示circe
”?
什么circe
是将a解析String
成JSON,引入类型类Decoder和Encoder
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
会。