如何在仅获取对象的某些字段的同时解析字段中的 Json 数组
How to parse a Json array within a field while only getting certain fields of the object
我在使用 circe 进行更复杂的提取时遇到了一些问题。如果我有以下 Json:
{
"data": [
{"a": "a-string", "b": "a-string", "c": "a-string"},
{"a": "a-string", "b": "a-string", "c": "a-string"},
{"a": "a-string", "b": "a-string", "c": "a-string"}
]
}
如何使用 circe 获取那些对象的列表,但只包含 a 和 b 字段?
尝试像这样定义一个仅包含 a
和 b
字段的模型
case class Element(a: String, b: String)
例如,
import io.circe.generic.auto._
import io.circe.parser._
case class Element(a: String, b: String)
case class Data(data: List[Element])
val raw = """{"data": [{"a": "a-string", "b": "a-string", "c": "a-string"},{"a": "a-string", "b": "a-string", "c": "a-string"}, {"a": "a-string", "b": "a-string", "c": "a-string"}] }"""
decode[Data](raw).getOrElse(throw new RuntimeException)
产出
res0: Data = Data(List(Element(a-string,a-string), Element(a-string,a-string), Element(a-string,a-string)))
我在使用 circe 进行更复杂的提取时遇到了一些问题。如果我有以下 Json:
{
"data": [
{"a": "a-string", "b": "a-string", "c": "a-string"},
{"a": "a-string", "b": "a-string", "c": "a-string"},
{"a": "a-string", "b": "a-string", "c": "a-string"}
]
}
如何使用 circe 获取那些对象的列表,但只包含 a 和 b 字段?
尝试像这样定义一个仅包含 a
和 b
字段的模型
case class Element(a: String, b: String)
例如,
import io.circe.generic.auto._
import io.circe.parser._
case class Element(a: String, b: String)
case class Data(data: List[Element])
val raw = """{"data": [{"a": "a-string", "b": "a-string", "c": "a-string"},{"a": "a-string", "b": "a-string", "c": "a-string"}, {"a": "a-string", "b": "a-string", "c": "a-string"}] }"""
decode[Data](raw).getOrElse(throw new RuntimeException)
产出
res0: Data = Data(List(Element(a-string,a-string), Element(a-string,a-string), Element(a-string,a-string)))