如何 select 来自 Json Play 框架的多个字段?

How to select multiple fields from Json Play framework?

我正在尝试从 REST-API 访问数据并使用播放框架解析响应 (json)。下面是我对 REST Call 的回应。

[
{"time":"2018-01-01","query":"select..","service":"sql"},
{"time":"2018-01-01","query":"select..","service":"sql"},
{"time":"2018-01-01","query":"select..","service":"sql"}
]

我想 select 时间,服务,并像下面这样把它排成一排,

2018-01-01,sql
2018-01-01,sql 
2018-01-01,sql

我用 \ 来获取时间,但它 return 列表缓冲区。

val json = Json.parse(response_from_rest)
println((json \ "time"))

任何人都可以帮助我如何 select 将多个字段合并到一行中。

val parsedJson = json.validate[Seq[JsValue]].get
 parsedJson.map(x => x.\("times") +","+x.\("service")).foreach(println)

使用 Validate 并通过 map 函数迭代 oved。

尝试:

json.as[List[JsValue]].map(row => 
  (row \ "time").as[LocalDate] -> (row \ "service").as[String]
)
// List[(LocalDate,String)]

.as 方法将 json 转换为列表,应用 .map 方法用元组替换每个对象。