给定一个 JSON 对象
{
"foo":["barfoo"],
"bar":["foobar"]
}
我想合并两个数组,即输出:
barfoo
foobar
显然,我可以使用例如列出任一数组,jq -r .foo[]
但我不确定如何合并两者。
数组名称(foo
/ bar
)是常量,它们不会改变。
给定一个 JSON 对象
{
"foo":["barfoo"],
"bar":["foobar"]
}
我想合并两个数组,即输出:
barfoo
foobar
显然,我可以使用例如列出任一数组,jq -r .foo[]
但我不确定如何合并两者。
数组名称(foo
/ bar
)是常量,它们不会改变。
要获取所有第二级项目,请进行两级深度迭代:
要获取所有叶级项目,请递归下降并过滤
scalars
:如果您的 JSON 保存为名为“file.json”的文件,则可以使用此命令获取指定格式的输出:
解释一下这是如何运作的:
to_entries[]
将 JSON 对象转换为键值对数组.value[]
迭代每个值数组并在新行上打印每个元素-r
将输出格式化为原始文本