gpt4 book ai didi

json - 使用 jq 对 JSON 进行反规范化

转载 作者:行者123 更新时间:2023-12-05 01:10:27 25 4
gpt4 key购买 nike

我有如下所示的 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"
}
]

请注意,第一个对象有 2 个版本,并且严重性相同。我试过 jq 的 group_by 和 map 函数,但不太成功。请帮助:)

最佳答案

这应该有效。你不会想在这里使用 group_by,如果你想从多到少,你会这样做,我们正在走另一条路。

您将不同的版本与相应的严重性结合起来。以下是您可以如何做到这一点。

map(.fields | (.versions[] | { id, name }) + { value: .severity.value })

关于json - 使用 jq 对 JSON 进行反规范化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33148557/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com