在列表中查找JSONPath

问题描述 投票:0回答:2

假设我有一个像这样的 JSON:

{
  "roles": [
    "role1",
    "role2",
    "super_role1",
    "super_role2"
  ]
}

我想使用 JSONPath 进行过滤以仅匹配“super*”并获取包含匹配项的列表:

["super_role1", "super_role2"]

我的路径表达式应该是什么?

我尝试过 .roles['super*'] 和其他变体,但我找不到一种简单地过滤列表字符串的方法。

jsonpath json-path-expression
2个回答
1
投票

你尝试过用实际的表达方式吗?快速谷歌给了我https://support.smartbear.com/alertsite/docs/monitors/api/endpoint/jsonpath.html#filters


0
投票

尝试使用此 JSONPath 进行过滤。我希望这就是您正在寻找的:

$.roles[?(@.startsWith("super"))]

我在 jsonpath.com 上尝试了它,给出了你的 JSON,它返回 ["super_role1", "super_role2"]

© www.soinside.com 2019 - 2024. All rights reserved.