使用键获取子元素(jq)

时间:2018-03-14 23:51:32

标签: json key jq children

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

e.g。来自这份文件:

{"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]

如何获得所需的结果?

1 个答案:

答案 0 :(得分:1)

一种方式:

to_entries[] | [.] | from_entries

更具说服力:

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