是否有 JMESPath 相当于 XPath 双斜杠 (//)“任何后代”搜索?

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

在 XPath 中,要搜索与特定路径匹配的任何后代,例如,以

a
元素作为子元素的任何级别的
b
元素,可以使用查询
//a/b

例如,对于以下文档

<foo>
  <bar>
    <a><b>first</b></a>
  </bar>
  <a><b>second</b></a>
</foo>

使用前面提到的 xpath,我们会找到元素

<b>first</b>
<b>second</b>

JSON 和 JMESPath 是否有等效项?

例如:

{
  "foo": {
    "bar": {
      "a": {"b": "first"}
    },
    "a": {"b": "second"}
  }
}

从上面的文档中,是否可以检索到

{"b": "first"}
{"b": "second"}

xpath jmespath
1个回答
0
投票

不。以下查询

foo.a

给予

{
  "b": "second"
}

foo.*.a

给予

[
  {
    "b": "first"
  }
]
© www.soinside.com 2019 - 2024. All rights reserved.