2016-07-30 90 views
0

我有以下JSON:變換原來的Json使用播放框架在斯卡拉

{"id": 1, 
"url":[ 
    {"format":""}, 
    {"creator":""}, 
    {"value":"http://..."} 
] 
} 

我怎樣才能將其轉換"url": "http://..."

我該怎麼做?我嘗試了以下,但它似乎並沒有工作。

(json \ "value").as[JsString].value

+2

你的問題還不清楚,因爲你期望輸出中有一個url,而你的輸入json包含一個url數組。那麼你真的想在這裏實現什麼?單個(url,urlValue)對(在這種情況下,你的json是無效的)或者一個List對(在這種情況下你的期望是無效的)? –

回答

0

因爲「網址」有一個數組值,則需要建立索引適當地得到您所需要的價值,所以在你的情況下,它會是這樣的:

scala> val url = (json \ "url")(2).get 
url: play.api.libs.json.JsValue = {"value":"http://..."} 

scala> (url \ "value").as[String] 
res22: String = http://... 

我也如果您對處理JSON的更多功能方法感到滿意,建議查看Argonaut。它遠勝於Play提供的JSON設施。