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[*]
希望以后能对一些人有所帮助:)
我正在开发自定义 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[*]
希望以后能对一些人有所帮助:)