我有一个如下所示的 JSON 文档:
{
"name": "My Team",
"team size": [
{
"min": [
{
"Leader": 1
},
{
"Followers": 5
},
{
"point cost": 7
}
]
},
{
"max": [
{
"Leader": 1
},
{
"Followers": 9
},
{
"point cost": 11
}
]
}
]
}
我希望它看起来像这样:
{
"name": "My Team",
"team size": [
{
"size": "min",
"Leader": 1,
"Followers": 5,
"point cost": 7
},
{
"size": "max",
"Leader": 1,
"Followers": 9,
"point cost": 11
}
]
}
但是我很难接受。我知道它类似于
jq . '"team size" |= map(to_entries[] | .key + .values)
,但我的语法不正确。任何帮助将不胜感激。
这是许多方法之一:
.["team size"] |=
(add
| [ ({size: "min"} + (.min | add)),
({size: "max"} + (.max | add)) ] )
或更干燥:
.["team size"] |=
(add
| . as $in
| reduce keys_unsorted[] as $k ([];
. + [{size: $k} + ($in[$k]|add) ] ))