首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JMESPath嵌套AND查询(单行)

JMESPath嵌套AND查询(单行)
EN

Stack Overflow用户
提问于 2020-10-14 15:10:15
回答 1查看 125关注 0票数 1

我正在开发一个自定义的Azure Devops,并试图通过一个json文件填充我的字段。我设法得到了一层深的数据,但两层似乎很有挑战性。

我的消息来源:

代码语言:javascript
复制
{
  "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"
            }
          ]
        }
      ]
    }
]}

正在检索我的项目(works):

代码语言:javascript
复制
jsonpath:$.Projects[*]

检索我的产品(作品):

代码语言:javascript
复制
jsonpath:$.Projects.[?(@.Name == '{{{ProjectName}}}')].Products[*]

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

代码语言:javascript
复制
jsonpath:$.Projects.[?(@.Name == '{{{ProjectName}}}') && (@.Products.Value == '{{{Application}}}')].Function[*]

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

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-10-26 20:05:55

我设法让它使用以下字符串:

代码语言:javascript
复制
jsonpath:$.Projects.[?(@.Name == '{{{ProjectName}}}')].Products[?(@.Value=='{{{Application}}}')].Function[*]

希望它能在未来帮助一些人:)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64348274

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档