我有这个数据:
{
"data": [
{
"a": 11,
"b": 12,
"c": 13
},
{
"a": 21,
"b": 22,
"c": 23
},
{
"a": 31,
"b": 32,
"c": 33
}
]
}
我想把它整理成基于键名的数组,如下所示:
{
"data": [
{
"a": [
11,
21,
31
]
},
{
"b": [
12,
22,
32
]
},
{
"c": [
13,
23,
33
]
}
]
}
对于这个例子,我们可以假设原始数组的每个元素都有相同的键集,只是它们的值不同。
下面的jq代码可以为选择键执行此操作:
一个二个一个一个
如何对所有键执行此操作?
1条答案
按热度按时间oxalkeyp1#
一种方法是使用
to_entries
访问密钥,然后使用group_by
进行分组,最后使用map
构建最终结构:建议:您可以构建一个包含所有字段的对象,而不是使用具有单个字段的对象数组:
一个二个一个一个