使用Scala中的Play Framework转换原始Json

时间:2016-07-30 12:09:37

标签: json scala playframework

我有以下Json:

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

如何将其转换为"url": "http://..."

我该怎么做?我尝试了以下方法,但它似乎没有起作用。

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

1 个答案:

答案 0 :(得分:0)

因为" url"有一个数组值,你需要适当地索引它以获得你需要的值,所以在你的情况下它将是这样的:

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设施。