【发布时间】:2021-05-11 14:57:10
【问题描述】:
我有以下方法:
def myMethod = {
val myJson: String = SOME_RESPONSE.\(SOME_FIELD).get.toString()
val allValues: List[JsValue] = Json.parse(myJson).as[List[JsValue]]
allValues.asInstanceOf[List[String]]
}
它返回以下内容:
List({"key1":"value1","key2":"someField","key3":"asc"}, {"key1":"anotherValue","key2":"anotherField","key3":"desc"}, {"key1":"againAnotherValue","key2":"someField","key3":"asc"})
我知道我可以使用 myMethod.head 提取列表中的第一个元素,但是我想检索列表中所有 3 个元素的 key1 或 key2 的值,因为我需要使用它们一些匹配操作的值。
你能帮忙吗?
编辑 1
我决定让myMethod() 返回一个 List[JsValue],这样我可以执行以下操作:
myMethod.map(item => item \ KEY1_NODE).head.get
所以,这将返回头部的值,我当然可以为尾部做同样的事情,但我正在寻找一种解决方案来遍历所有 key1 键。任何的想法?我需要返回键的实际值,因此如果我使用 foreach 它将不起作用。
【问题讨论】:
-
你永远不应该使用
.head或.get