小编Sam*_*Sam的帖子

具有多个匹配项的JMESPath JSON过滤器

我有一个看起来有点像这样的json块(你猜到了AWS)

{ "Vpcs":[ 
  {
    "VpcId":"vpc-blabla1",
    "OtherKey":"Value"
  },
  {
    "VpcId":"vpc-blabla2",
    "OtherKey":"Value"
  },
  {
    "VpcId":"vpc-blabla3",
    "OtherKey":"Value"
  },
  {
    "VpcId":"vpc-blabla4",
    "OtherKey":"Value"
  }]
}
Run Code Online (Sandbox Code Playgroud)

我想使用JMESPath获取vpc-blabla1和vpc-blabla3的OtherKey值(示例,可以是任何vpc-id列表)

我可以使用JMESpath过滤器获得blabla1

Vpcs[?VpcId=='blabla1'].OtherKey
Run Code Online (Sandbox Code Playgroud)

但我找不到多个值的语法?我试过了Or语法|| 和复合语法| 但都不起作用? - 见下面我尝试过的事情.

 Vpcs[?VpcId=='blabla1' || 'blabla1'].OtherKey
 Vpcs[?VpcId=='blabla1' || ?VpcId=='blabla1'].OtherKey
 Vpcs[(?VpcId=='blabla1') || (?VpcId=='blabla1')].OtherKey
 Vpcs[?VpcId=='blabla1' | ?VpcId=='blabla1'].OtherKey
Run Code Online (Sandbox Code Playgroud)

有什么建议?这是可能的还是我将不得不一次收集一个结果集并重新组合我想要的结果?

json aws-cloudformation jmespath

7
推荐指数
1
解决办法
2639
查看次数

标签 统计

aws-cloudformation ×1

jmespath ×1

json ×1