如何 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
方法用元组替换每个对象。
我正在尝试从 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
方法用元组替换每个对象。