小编Dev*_*eam的帖子

使用带参数的 JQ 将多个 json 文件合并为一个对象

我有数千个 JSON 文件要合并到一个对象中。这些都不是类似的格式。让我详细解释一下。这是 JSON 的第一个示例

[
  {
    "value 1": 1,
    "value 2": 2,
    "value 3": 3,
    "value 4": 4
  }
]
Run Code Online (Sandbox Code Playgroud)

和其他类型不相似,就像下面有几个公共字段和其他字段

[
  {
    "value 3": 300,
    "value 4": 400,
    "value 5": 500,
    "value 6": 600
  }
]
Run Code Online (Sandbox Code Playgroud)

例如我有 2 个具有第一种示例格式的文件和一个具有第二种示例格式的文件。我正在尝试jq用于合并它。

jq -s '.' *.json > myfile.json
Run Code Online (Sandbox Code Playgroud)

它使用三个不同的对象返回以下内容

[
  {
    "value 1": 1,
    "value 2": 2,
    "value 3": 3,
    "value 4": 4
  }
],
[
  {
    "value 1": 10,
    "value 2": 20,
    "value 3": 30,
    "value 4": 40 …
Run Code Online (Sandbox Code Playgroud)

json jq

4
推荐指数
1
解决办法
4246
查看次数

合并多个 JSON 文件,按字段删除重复对象

我正在尝试合并数十万个具有单个对象的 JSON 文件。在这个答案的帮助下,我已成功将所有对象作为数组添加到单个对象中。现在,如果特定字段或参数重复,我想在合并期间过滤掉一些对象。类似field 1两个对象具有相同的值。

这是例子

输入文件1:

[
    {
      "field 1": 10,
      "field 2": 25,
      "field 3": 35,
      "field 4": 45
    }
]
Run Code Online (Sandbox Code Playgroud)

输入文件2:

[
    {
      "field 1": 15,
      "field 2": 25,
      "field 3": 35,
      "field 4": 45
    }
]
Run Code Online (Sandbox Code Playgroud)

输入文件3:

[
    {
      "field 1": 10,
      "field 2": 20,
      "field 3": 30,
      "field 4": 40
    }
]
Run Code Online (Sandbox Code Playgroud)

预期输出:

[
    {
      "field 1": 10,
      "field 2": 25,
      "field 3": 35,
      "field 4": 45
    },
    {
      "field 1": 15, …
Run Code Online (Sandbox Code Playgroud)

json jq

3
推荐指数
1
解决办法
7870
查看次数

标签 统计

jq ×2

json ×2