JMESPath 嵌套 AND 查询(单行)

JMESPath nested AND query (one-liner)

我正在开发自定义 Azure Devops 并尝试通过 json 文件填写我的字段。我设法让数据深入一层,但 2 层似乎具有挑战性。

我的来源:

{
  "Projects": [
    {
      "Name": "Phoenix",
      "CatalogItems": {
        "Name": "w2016-its",
        "id": "49e52ffe-645d-38c2-8180-a36861969132",
        "OS": [
          "W2016-LTS-DESKTOP-MGM-Latest-cloudbase"
        ]
      },
      "Products": [
        {
          "Value": "ego",
          "Function": [
            {
              "Name": "tst",
              "Value": "tst",
              "Type": "web"
            }
          ],
          "Environment": [
            {
              "Name": "Development",
              "Value": "o"
            },
            {
              "Name": "Test",
              "Value": "t"
            }
          ],
          "Customer": [
            {
              "Name": "9446",
              "Value": "9446"
            }
          ]
        }
      ]
    }
]}

正在检索我的项目(有效):

jsonpath:$.Projects[*]

检索我的产品(有效):

jsonpath:$.Projects.[?(@.Name == '{{{ProjectName}}}')].Products[*]

正在检索我的函数(不起作用):

jsonpath:$.Projects.[?(@.Name == '{{{ProjectName}}}') && (@.Products.Value == '{{{Application}}}')].Function[*]

所有带有 {{{name}}} 的条目都是变量。

由于 Azure Devops 执行查询的性质,我需要一行。 我怎样才能使这个嵌套查询起作用?

我设法让它与以下字符串一起工作:

jsonpath:$.Projects.[?(@.Name == '{{{ProjectName}}}')].Products[?(@.Value=='{{{Application}}}')].Function[*]

希望以后能对一些人有所帮助:)