标签: circe-optics

如何使用 Circe 解码包含 json 的数组

我的 circe 解码器如下所示。我确信我的情感解码器可以正常工作,因此下面不会包含它。

case class CryptoData(value: String, valueClassification: Sentiment)
Run Code Online (Sandbox Code Playgroud)
  implicit val decoder: Decoder[CryptoData] = Decoder.instance { json =>
    for {
      value               <- json.downField("data").get[String]("value")
      valueClassification <- json.downField("data").get[Sentiment]("value_classification")
    } yield CryptoData(value, valueClassification)
  }
Run Code Online (Sandbox Code Playgroud)

我的 Json 看起来像这样

{
  "name" : "Fear and Greed Index",
  "data" : [
    {
      "value" : "31",
      "value_classification" : "Fear",
      "timestamp" : "1631318400",
      "time_until_update" : "54330"
    }
  ],
  "metadata" : {
    "error" : null
  }
}
Run Code Online (Sandbox Code Playgroud)

我只是想要valuevalue_classification。可以看出,这些值位于一个数组中。

我怀疑 Circe 正在寻找解码 aList[data]但我不想创建 acase …

json scala circe http4s-circe circe-optics

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

标签 统计

circe ×1

circe-optics ×1

http4s-circe ×1

json ×1

scala ×1