我有以下对象:
{
"exported_modules": ["a", "b"],
"modules": {
"a": {
"name": "thing b"
}
}
}
它们存在于单独的文件中。我需要基本上对它们进行转换,使它们在以下状态下输出统一:
.modules.a
基本上我需要将展览b的内容插入jq
。有没有办法在jq中这样做?不幸的是,我在x = [a,b]
y = [c,d]
1.3上,这是由我的发行版提供的。
我一直在尝试what has been recommended here,但我无法合并到特定位置,而只是合并所有密钥。
答案 0 :(得分:0)
jq 1.3很古老,因此使用该版本的解决方案相当不优雅。也许最好的方法是" slurp"这两个文件:
jq1.3 -s '.[1] as $o | .[0] | .modules.a = $o' exhibit-a.json exhibit-b.json
这也适用于更高版本,但为了比较,使用jq 1.4或更高版本,可以写:
jq --argfile modules exhibit-a.json '
. as $in | $modules | .modules.a = $in' exhibit-b.json