1
JMESPathを使用すると、入力内に複数のキー/値のペアが存在することに基づいて出力をフィルタリングできますか?たとえば、以下のJSONから複数のキーと値のペアの存在に基づくフィルタ出力
、私は何をしたいのですがTags
内でこれらのキー/値のペアが含まれているオブジェクトのみを抽出している -
環境/ ABC
プロジェクト/ Project2の
最も近いのは、一致するタグを1つ選択することですが、残りのオブジェクトも必要です。また、他のキー/値のペアと照合する必要があります。
ここでは、いくつかのexaple JSON入力である -
{
"Stacks": [
{
"StackId": "abc123",
"Tags": [
{
"Value": "Project 1",
"Key": "Project"
},
{
"Value": "ABC",
"Key": "Environment"
}
],
"CreationTime": "2016-07-20T14:49:27.891Z",
"StackName": "TestStack1",
"NotificationARNs": [],
"StackStatus": "CREATE_COMPLETE",
"DisableRollback": false
},
{
"StackId": "xyz123",
"Tags": [
{
"Value": "Project 1",
"Key": "Project"
},
{
"Value": "XYZ",
"Key": "Environment"
}
],
"CreationTime": "2016-07-20T14:49:27.891Z",
"StackName": "TestStack2",
"NotificationARNs": [],
"StackStatus": "CREATE_COMPLETE",
"DisableRollback": false
},
{
"StackId": "asd123",
"Tags": [
{
"Value": "Project 2",
"Key": "Project"
},
{
"Value": "ABC",
"Key": "Environment"
}
],
"CreationTime": "2016-07-20T14:49:27.891Z",
"StackName": "TestStack3",
"NotificationARNs": [],
"StackStatus": "CREATE_COMPLETE",
"DisableRollback": false
}
]
}
そして、ここでは、私が必要と出力されます -
{
"StackId": "asd123",
"Tags": [
{
"Value": "Project 2",
"Key": "Project"
},
{
"Value": "ABC",
"Key": "Environment"
}
],
"CreationTime": "2016-07-20T14:49:27.891Z",
"StackName": "TestStack3",
"NotificationARNs": [],
"StackStatus": "CREATE_COMPLETE",
"DisableRollback": false
}
ブリリアントを、ありがとう。完全性のために、私は 'Stacks [?タグ[?値== 'ABC' && Key == '環境'] &&タグ[? Value == 'Project' && Key == 'Project2']] 'それは魅力的に働いています。 –