如何在只获取对象的特定字段的情况下解析字段中的Json数组
我在使用circe进行更复杂的提取时遇到了一些问题。如果我有以下Json:如何在只获取对象的特定字段的情况下解析字段中的Json数组,json,scala,circe,Json,Scala,Circe,我在使用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获取这些对象的列表,但仅
{
"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)))