Json 如何仅输出带有键和值的正确结果?
我有一个json,如下所示:Json 如何仅输出带有键和值的正确结果?,json,bash,jq,Json,Bash,Jq,我有一个json,如下所示: [ { "AvailabilityZone": "ap-northeast-1a", "Tags": [ { "Value": "value1", "Key": "key1" }, { "Value": "value2", "Key": "key2" } ], },
[
{
"AvailabilityZone": "ap-northeast-1a",
"Tags": [
{
"Value": "value1",
"Key": "key1"
},
{
"Value": "value2",
"Key": "key2"
}
],
},
{
"AvailabilityZone": "ap-northeast-1a",
"Tags": [
{
"Value": "value3",
"Key": "key3"
},
{
"Value": "value4",
"Key": "key4"
}
],
},
]
当我从键盘输入键和值时。我只想通过jq选项输出带有键和值的正确结果
示例:我输入的Key:value是key3:value3。我的愿望:
{
"AvailabilityZone": "ap-northeast-1a",
"Tags": [
{
"Value": "value3",
"Key": "key3"
},
{
"Value": "value4",
"Key": "key4"
}
],
}
您似乎正在使用aws cli获取ebs卷详细信息,您可以使用aws cli的筛选器属性筛选查询结果。
您可以在此处使用以下内容:
aws ec2描述卷--过滤器名称=标记键,Values=“key3”名称=标记值,Values=“value3”
有关更多帮助,请访问:aws ec2描述卷帮助
我认为这比使用jq进行过滤要容易。似乎您正在使用aws cli获取ebs卷详细信息,您可以使用aws cli的筛选器属性筛选查询结果。
您可以在此处使用以下内容:
aws ec2描述卷--过滤器名称=标记键,Values=“key3”名称=标记值,Values=“value3”
有关更多帮助,请访问:aws ec2描述卷帮助
我认为这比使用jq进行过滤要容易。使用select来过滤标记下的数组:
jq '.[].Tags | select((.[].Key == "key3") and (.[].Value="value3")) ' < file.json
jq.[].Tags |选择([].Key==“key3”)和([].Value=“value3”)”
与从标准DIN读取键和值一起:
echo key3 value3 | (
read key value
k=$key v=$value jq ".[].Tags
| select((.[].Key == env.k) and (.[].Value=env.v))
" < file.json)
echo键3值3|(
读取键值
k=$key v=$value jq.“[].标记
|选择(([].Key==env.k)和([].Value=env.v))
“
使用select筛选标记下的数组:
jq '.[].Tags | select((.[].Key == "key3") and (.[].Value="value3")) ' < file.json
jq.[].Tags |选择([].Key==“key3”)和([].Value=“value3”)”
与从标准DIN读取键和值一起:
echo key3 value3 | (
read key value
k=$key v=$value jq ".[].Tags
| select((.[].Key == env.k) and (.[].Value=env.v))
" < file.json)
echo键3值3|(
读取键值
k=$key v=$value jq.“[].标记
|选择(([].Key==env.k)和([].Value=env.v))
“
您能详细描述一下您期望的实际输出吗?请尽可能遵循指导原则。您希望如何“从键盘输入键和值”?“正确结果”是什么?你试过什么?@ParvezKazi我在aws有100卷(EBS)。每个卷(EBS),我标记了标签(包括键:值)。当我输入一个标签的正确键和值,然后输出该卷(EBS)的正确结果。您能详细描述一下您期望的实际输出吗?请尽可能遵循指导原则。您希望如何“从键盘输入键和值”?“正确结果”是什么?你试过什么?@ParvezKazi我在aws有100卷(EBS)。每个卷(EBS),我标记了标签(包括键:值)。当我输入标签的正确键和值时,然后输出该卷(EBS)的正确结果。