小编wil*_*ena的帖子

使用Circe将包含HList的案例类解析为JSON字符串

我在Scala做的事情.我有以下案例类:

import shapeless._
case class Foo(param1: String, param2: HList)
Run Code Online (Sandbox Code Playgroud)

我想使用Circe获得这种类型的JSON表示.我还想将生成的JSON字符串映射回类型.

模块circe-shapes自动推导出HLists,并且很容易从HList到JSON再返回.看这个例子:

scala> import shapeless._
import shapeless._

scala> import io.circe._, io.circe.generic.auto._, io.circe.parser._, io.circe.syntax._
import io.circe._
import io.circe.generic.auto._
import io.circe.parser._
import io.circe.syntax._

scala> import io.circe.shapes._
import io.circe.shapes._

scala> val myList = 30 :: "car" :: HNil
myList: shapeless.::[Int,shapeless.::[String,shapeless.HNil]] = 30 :: car :: HNil

scala> val listJson = myList.asJson
listJson: io.circe.Json =
[
  30,
  "car"
]

scala> listJson.as[HList] // won't work
<console>:32: error: could not …
Run Code Online (Sandbox Code Playgroud)

json scala hlist shapeless circe

3
推荐指数
1
解决办法
733
查看次数

标签 统计

circe ×1

hlist ×1

json ×1

scala ×1

shapeless ×1