我有看起来像这样的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"
}
}
}
]
Run Code Online (Sandbox Code Playgroud)
我想用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"
}
]
Run Code Online (Sandbox Code Playgroud)
请注意,第一个对象具有2个版本,并且具有相同的严重性。我已经尝试过jq的group_by和map函数,但是还不太成功。请帮忙 :)
这应该工作。您不想在group_by这里使用a ,如果您尝试从多变少,则可以这样做,否则我们将走另一条路。
您正在将不同版本与相应的严重性结合在一起。这是您可以执行的操作。
map(.fields | (.versions[] | { id, name }) + { value: .severity.value })
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
170 次 |
| 最近记录: |