使用键获取子元素 (jq)

Get child elements with their keys (jq)

使用 jq,我想获取根元素的所有子元素并包含它们的键。

例如来自这份文件:

{"foo": [1, 2, 3], "bar": [4, 5, 6]}

我想得到:

{"foo": [1, 2, 3]}
{"bar": [4, 5, 6]}

使用数组索引的变体,我丢失了键:

echo '{"foo": [1, 2, 3], "bar": [4, 5, 6]}' | jq -c .[]
[1,2,3]
[4,5,6]

怎样才能得到想要的结果?

一种方式:

to_entries[] | [.] | from_entries

更通俗一点:

keys_unsorted[] as $k | {($k): .[$k]}