如何转换 JSON 输入
{
"Subnets": [
{
"VpcId": "vpc-xxx",
"Tags": [
{
"Value": "staging_subnet_private_a",
"Key": "Name"
}
],
"SubnetId": "subnet-xxx"
},
...
]
}
Run Code Online (Sandbox Code Playgroud)
到
[
{
"SubnetId": "subnet-xxx",
"Name": "staging_subnet_private_a"
},
...
]
Run Code Online (Sandbox Code Playgroud)
使用jq?
我有一个使用的工作解决方案jq '[.Subnets[] | {SubnetId, Name: .Tags[0] | .Value }]',但这依赖于标签的顺序(不好)。
我可以使用from_entires或减少吗?
小智 5
是的,你可以使用from_entries. 在 jq 1.5rc1 及更高版本中,它被定义为采用Key/Value键名称以及key/ value。
尝试类似的方法:
jq '.Subnets | map({SubnetId} + (.Tags | from_entries))'
在以前的版本中,您可以在将“条目”传递给之前修改它们from_entries:
jq '.Subnets | map({SubnetId} + (.Tags | map({value: .Value, key: .Key}) | from_entries))'
| 归档时间: |
|
| 查看次数: |
3165 次 |
| 最近记录: |