繁体   English   中英

使用jq将json对象从一个文件添加到单个数组下的另一个文件

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM