Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在只获取对象的特定字段的情况下解析字段中的Json数组_Json_Scala_Circe - Fatal编程技术网

如何在只获取对象的特定字段的情况下解析字段中的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获取这些对象的列表,但仅

我在使用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)))