我的JSON看起来是这样的:
[
{
"fields": {
"versions": [
{
"id": "36143",
"name": "ST card"
},
{
"id": "36144",
"description": "Acceptance test card",
"name": "AT card"
}
],
"severity": {
"value": "B-Serious",
"id": "14231"
}
}
},
{
"fields": {
"versions": [
{
"id": "36145",
"name": "ST card"
}
],
"severity": {
"value": "C-Limited",
"id": "14235"
}
}
}
]我想将它与jq转换为:
[
{
"id": "36143",
"name": "ST card"
"value": "B-Serious"
},
{
"id": "36144",
"name": "AT card"
"value": "B-Serious"
},
{
"id": "36145",
"name": "ST card"
"value": "C-Limited"
}
]注意,第一个对象有两个版本,并且严重性相同。我尝试过jq的group_by和map函数,但没有太成功。(请帮助:)
发布于 2015-10-15 14:45:59
这应该能行。您可能不想在这里使用group_by,如果您试图从多到少,我们就会这样做。
您正在将不同的版本与相应的严重性结合起来。你可以这么做。
map(.fields | (.versions[] | { id, name }) + { value: .severity.value })https://stackoverflow.com/questions/33148557
复制相似问题