【发布时间】:2020-06-04 15:22:08
【问题描述】:
我有一个像这样的简单 json 结构:
{
"type": "type",
"id": "id",
"identifier": [
{
"system": "system1",
"value": "value1"
},
{
"system": "system2",
"value": "value2
}
]
}
我需要找到系统为system1 的标识符值。我不能依赖标识符数组的顺序,所以我实际上需要检查system 的值。
我构建了这个 jsonpath 用于查找:$.identifier[?(@.system == 'system1')].value,它可以工作。
现在我的问题是,如何在 Scala Play 框架中使用这个 jsonpath?我知道其中有一个JsPath 类,但我只看到了带有直线路径的示例,没有一个像我需要的那样具有sybling 节点的条件。而且我似乎无法用字符串构造 JsPath 实例。让我希望的是,documentation 表示 JsPath 类似于 XML 中的 XPath,它确实具有条件-sybling-node 功能。
感谢任何帮助。谢谢。
【问题讨论】:
-
你自己尝试过什么?
-
因为我在项目的其他地方使用了 jsonpath,所以我试图坚持这种方法,但现在我看到我必须放手了。当然,如果我将 json 转换为 Scala 对象,我可以轻松地做我想做的事情......使用 jsonpath 会很漂亮。
标签: json scala playframework