在 jq 中争论网络邻接数据:字典到数组
Wrangling network adjacency data in jq: dictionary to array
我在 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) | .[]
combinations
将两个数组的数组作为输入,并输出两个输入数组的元素组合的数组。在我们的例子中,我们想为它提供一个包含键和值数组的数组。
你可以try it here.
此处使用基本方法可生成有效的解决方案:
keys_unsorted[] as $k
| .[$k][] as $v
| [$k|tonumber] + [$v]
我在 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) | .[]
combinations
将两个数组的数组作为输入,并输出两个输入数组的元素组合的数组。在我们的例子中,我们想为它提供一个包含键和值数组的数组。
你可以try it here.
此处使用基本方法可生成有效的解决方案:
keys_unsorted[] as $k
| .[$k][] as $v
| [$k|tonumber] + [$v]