【问题标题】:Transform original Json using Play Framework in Scala在 Scala 中使用 Play Framework 转换原始 Json
【发布时间】:2016-07-30 12:09:37
【问题描述】:

我有以下 Json:

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

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

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

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

【问题讨论】:

  • 您的问题不清楚,因为您期望输出中有一个 url,而您的输入 json 包含一个 url 数组。那么你真正想要在这里实现什么?单个 (url, urlValue) 对(在这种情况下您的 json 无效)或 List 对(在这种情况下您的期望无效)?

标签: json scala playframework


【解决方案1】:

因为“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 工具要优越得多。

【讨论】:

    猜你喜欢
    • 2014-12-26
    • 1970-01-01
    • 2016-08-09
    • 2015-03-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-25
    • 1970-01-01
    相关资源
    最近更新 更多