[英]adding json objects from one file to another under single array using jq
我是新来的,如果我在提问时犯了任何错误,我很抱歉。
我有一个 json 文件,它每分钟都用 json 对象更新(File_1.json)。 我想要做的就是使用 jq 命令将这些对象复制到单个数组下的另一个文件中。
File_1.json 文件示例:
{
"Id":"1",
"Name":"Kiran",
"Age":"12"
}
{
"Id":"2",
"Name":"Dileep",
"Age":"22"
}
预期产出
[
{
"Id":"1",
"Name":"Kiran",
"Age":"12"
}
{
"Id":"2",
"Name":"Dileep",
"Age":"22"
}
]
我曾尝试使用 -s(slurp) 但由于代码每分钟运行一次,因此它创建了多个数组。
如果您只想将 File_1.json 中的对象附加到(例如)output.json 中的现有数组,您可以编写:
jq '. + [inputs]' output.json File_1.json
这预设 output.json 只包含一个数组(或 JSON 值null
)。 因此,首先,您可以通过运行以下命令来初始化 output.json:
echo null > output.json
如果你想冒险并覆盖 output.json,你可能喜欢使用sponge
:
jq '. + [inputs]' output.json File_1.json | sponge output.json
如果您想删除重复项并且不介意对对象进行排序,您可以简单地附加| unique
上述 jq 过滤器| unique
。 如果保留顺序很重要,请参阅https://github.com/stedolan/jq/wiki/Cookbook#using-bag-to-implement-a-sort-free-version-of-unique
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.