在jq中包装网络邻接数据:字典到数组



我有JSON中的图形数据,希望对其进行一些处理,以便:

{"1": [1, 2, 3, 4],
"2": [3, 4, 7]}

成为

[1, 1]
[1, 2]
[1, 3]
[1, 4]
[2, 3]
[2, 4]
[2, 7]

是否可以使用jq

您可以使用以下内容:

to_entries | map([[.key|tonumber],.value] | combinations) | .[]

CCD_ 1取两个阵列的阵列作为输入,并输出两个输入阵列的元素的组合的阵列。在我们的例子中,我们希望为它提供一个包含键和值数组的数组。

你可以在这里试试。

在这里使用基本方法可以产生一个有效的解决方案:

keys_unsorted[] as $k
| .[$k][] as $v
| [$k|tonumber] + [$v]

最新更新