Scala 从LabelledGeneric派生协议规范

Scala 从LabelledGeneric派生协议规范,scala,shapeless,Scala,Shapeless,给予 sealed trait A case class Foo(i: Int) extends A case class Bar(s: String) extends A sealed trait B case class B1(a: A) extends B case class B2(bs: String) extends B LabelledGeneric[B] 可以为您最喜欢的json库生成的json派生一个规范吗?我想使用上述规范来生成Elm源代码。您可以使用LabelledG

给予

sealed trait A
case class Foo(i: Int) extends A
case class Bar(s: String) extends A

sealed trait B
case class B1(a: A) extends B
case class B2(bs: String) extends B

LabelledGeneric[B]

可以为您最喜欢的json库生成的json派生一个规范吗?我想使用上述规范来生成Elm源代码。

您可以使用LabelledGeneric轻松地为密封特性层次结构派生JSON序列化程序(它为您递归格式化的密封特性提供了一个副产品),但我不确定“规范”是否就是这个意思。看一看
coproductFormat
中的一个例子。您可以使用LabelledGeneric(它为您递归格式化的密封特性提供一个Coproduct)轻松地为密封特性层次结构派生JSON序列化程序,但我不确定“规范”是否就是这个意思。查看
coproductFormat
中的示例。