我不确定“转置”在这里是否是正确的术语,但我希望使用jq
转置一个二维对象,如下所示:
[
{
"name": "A",
"keys": ["k1", "k2", "k3"]
},
{
"name": "B",
"keys": ["k2", "k3", "k4"]
}
]
我想把它改成:
{
"k1": ["A"],
"k2": ["A", "B"],
"k3": ["A", "B"],
"k4": ["A"],
}
我可以用以下方法拆分对象.[] | {key: .keys[], name}
获取键和名称的列表,或者我可以使用.[] | {(.keys[]): [.name]}
获取键值对的集合{"k1": ["A"]}
等等,但我不确定这两种方法的最终串联步骤。
这些方法中的任何一个都朝着正确的方向发展吗?有没有更好的办法?