gpt4 book ai didi

json - 如何用jq合并两个json文件

转载 作者:行者123 更新时间:2023-12-05 02:10:11 24 4
gpt4 key购买 nike

我有一个充满 json 文件的目录,其结构如下例如:文件 1

{
"products": [
{"f1": "v1"},
{"f1": "v2"}
]
}

文件2:

{
"products": [
{"f1": "v3"},
{"f1": "v4"}
]
}

“.products”的内容与示例中的内容不同,但我们可以假设它们是格式正确的更复杂的 json 值。

我想生成一个具有以下结构的文件:

[
{"f1": "v1"},
{"f1": "v2"},
{"f1": "v3"},
{"f1": "v4"}
]

关于如何使用 jq 执行此操作的任何想法?

最佳答案

您可以使用以下内容:

jq --slurp 'map(.products[])' /path/to/dir/*.json

其中 /path/to/dir/*.json 应该是文件列表或 bash glob这将扩展到您要使用的 JSON 文件的列表中。例如,对于当前目录中的两个文件 file1file2,您可以使用 file{1,2},或者简单地使用 file1 file2 这就是先前的 glob 将扩展成的内容。

--slurp 标志告诉 jq 读取数组中的所有输入,而不是单独处理它们。然后我们将这个数组的每个对象(文件的原始内容)映射到它们的产品序列中。

关于json - 如何用jq合并两个json文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59091000/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com