Scala 使用akka和circe提取空数组?
我在akka和circe有一个项目。我目前正在响应正文中发送此json:Scala 使用akka和circe提取空数组?,scala,akka,circe,Scala,Akka,Circe,我在akka和circe有一个项目。我目前正在响应正文中发送此json: { "a": 33, "things": [{ "id1": ["2"], "id2": [], "id4": [], "id5": [] } ] } 我试图将其提取到这个案例类: case class Body(things: Option[List[Things]]) case class Things(id1: Option[List[String]] = None, id2: Option[List[St
{ "a": 33, "things": [{ "id1": ["2"], "id2": [], "id4": [], "id5": [] } ] }
我试图将其提取到这个案例类:
case class Body(things: Option[List[Things]])
case class Things(id1: Option[List[String]] = None, id2: Option[List[String]] = None, id3: Option[List[String]] = None, id4:Option[List[String]] = None)
我使用以下代码执行此操作:
entity(as[Body]).as(Body.getIds)
此代码依赖于下面的伴随对象
object Body extends ErrorAccumulatingCirceSupport {
def getIds(body: Body): List[String] =
body.things.get.flatMap(_.id4.getOrElse(List()))
}
但是,除非我在things数组中的对象中实际传入一个值(例如“id2”:[“33”])
它从未完成json的解组。谢谢你的建议