从Scala未来的JSON响应中解析字符串列表

1 json scala playframework

我在Scala中没有太多经验,所以我在解析我想要解析的内容方面遇到了一些麻烦.

目前,我发出请求以获取访问令牌来检索Facebook好友:

val duration = Duration(10, SECONDS)
val future: Future[play.api.libs.ws.Response] = WS.url("https://graph.facebook.com/me?fields=id&access_token=" + token).get()
val response = Await.result(future, duration)
Run Code Online (Sandbox Code Playgroud)

我可以通过response.json访问JSON响应.但是,朋友将以以下格式返回:

{
  "data": [
    {
      "name": "Person 1",
      "id": "1"
    },
    {
      "name": "Person 2",
      "id": "2"
    },
    {
      "name": "Person 3",
      "id": "3"
    } ...
  ],
  "paging": {  
     ...
  }
}
Run Code Online (Sandbox Code Playgroud)

我知道我可以通过"(response.json \"data")"检索"数据"字典,但有没有办法让我以一种能够获取数据中所有ID的方式解析这个JSON作为一个清单?

Mar*_*ila 5

这将有效:

response.json \ "data" \\ "id"
Run Code Online (Sandbox Code Playgroud)

\\运营商的文档:

查找当前对象中的fieldName和所有后代.