使用键获取子元素 (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]}
使用 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]}