[英]Add json object into another json object using bash/jq
我正在尝试创建一个新文件,将 country1.json 中定义的对象添加到 world.json 中。 本质上:
世界.json
{
"class": "world",
"version": "1.1.0"
}
+
country1.json
{
"class": "country",
"country_1": {
"class": "city",
"name": "seattle"
}
}
=
world_country1.json
{
"class": "world",
"version": "1.1.0",
"country1": {
"class": "country",
"country_1": {
"class": "city",
"name": "seattle"
}
}
}
使用 country1.json 文件中对象的文件名。 如果可能的话,我想使用 bash/jq。
谢谢你的帮助,最好的,罗曼
使用input
访问第二个文件,并使用>
重定向到另一个文件
jq '.country1 = input' world.json country1.json > world_country1.json
{
"class": "world",
"version": "1.1.0",
"country1": {
"class": "country",
"country_1": {
"class": "city",
"name": "seattle"
}
}
}
如果您想使用文件名作为新字段的名称,请使用input_filename
并切断最后 5 个字符(删除.json
):
jq '. + (input | {(input_filename[:-5]): .})' world.json country1.json > world_country1.json
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.