У меня есть два класса, которые выглядят примерно так
import io.circe.Decoder
case class FactResponse(id: String, status: String) {
...
}
object FactResponse {
implicit val decoder: Decoder[FactResponse] =
Decoder.forProduct2("id", "status")(FactResponse.apply)
def apply(json: String): FactResponse = {
import io.circe.parser.decode
decode[FactResponse](json).right.get
}
}
case class RuleEngineRequestResponse(content: Seq[Map[String, String]])
object RuleEngineRequestResponse {
implicit val decoder: Decoder[RuleEngineRequestResponse] =
Decoder.forProduct1("content")(RuleEngineRequestResponse.apply(_: String))
def apply(json: String): RuleEngineRequestResponse = {
import io.circe.parser.decode
println("here")
print(json)
println(decode[RuleEngineRequestResponse](json).left.get)
decode[RuleEngineRequestResponse](json).right.get
}
}
Я пытаюсь декодировать JSON, который выглядит примерно так
{"content": [{"id": "22", "status": "22"]}
Однако я получаю ошибку декодирования
DecodingFailure (String, downfield ("content"))
Я не совсем уверен, что здесь происходит, json определенно правильный, я даже пытался разобрать содержимое в последовательность карт, но, тем не менее, я получаю одно и то же снова и снова. Любая идея о том, как проанализировать вложенные объекты в виде массива с помощью Circe?