【发布时间】:2019-06-15 23:37:38
【问题描述】:
所以给定这个输入
{
"id": 1,
"tags": [
{
"Key": "Name",
"Value": "I am id 1"
},
{
"Key": "Else",
"Value": "Random"
}
]
}
{
"id": 2,
"tags": null
}
我想获取id 和name 的值(如果存在)。所以对于那个输入,我想得到以下输出。
{
"id": 1,
"name": "I am id 1"
}
{
"id": 2,
"name": null
}
我试过了:
jq '{"id": .id, "name": .tags[]|select(.Key=="Name").Value}'
但是虽然它在该键存在时提取,但当路径不存在时它无法提供null 或默认值。
你知道如何解决这个问题吗?
你可以试试这个jqplay:https://jqplay.org/s/GgXZg67o79
【问题讨论】:
标签: json command-line jq