2013-07-27 94 views
1

我在Scala中經驗不足,所以我在解析下面的解析時遇到了一些麻煩。解析Scala未來的字符串列表JSON響應

目前,我提出一個請求來檢索賦予一個訪問令牌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) 

我有機會通過response.json JSON響應。但是,朋友們都返回的格式如下:

{ 
    "data": [ 
    { 
     "name": "Person 1", 
     "id": "1" 
    }, 
    { 
     "name": "Person 2", 
     "id": "2" 
    }, 
    { 
     "name": "Person 3", 
     "id": "3" 
    } ... 
    ], 
    "paging": { 
    ... 
    } 
} 

我知道,我可以通過「(response.json \‘數據’)」手段獲取「數據」字典,但有一種方式我解析這個JSON的方式,我可以獲得數據中的所有ID作爲List?

回答

5

這將工作:

response.json \ "data" \\ "id" 

\\運營商的文檔:

查找的字段名在當前對象和所有後代。

+0

謝謝馬呂斯,不知道我可以在像這樣的集合中訪問它們。這返回給我一個JsValues列表 - 是否可以將它轉換爲字符串列表? – istian11

+0

是的,你可以這樣做來獲取字符串列表:'(response.json \「data」\\「id」)。map(_。as [String])' –

+0

我剛試過,返回以下錯誤: 「type mismatch; found:Seq [String] required:List [String]」 – istian11