【问题标题】:jq combine fields from array of objects in 2 json files into 3rd json filejq 将 2 个 json 文件中的对象数组中的字段组合到第 3 个 json 文件中
【发布时间】:2020-04-29 23:57:07
【问题描述】:

file1.json

[
  {
    "a": "a",
    "b": "b"
  },
  {
    "a": "a",
    "b": "b"
  }
]

file2.json

[
  {
    "c": "c"
  },
  {
    "c": "c"
  }
]

所需输出:file3.json

[
  {
    "a": "a",
    "b": "b",
    "c": "c"
  },
  {
    "a": "a",
    "b": "b",
    "c": "c"
  }
]

【问题讨论】:

  • 仅供参考:在这种情况下,两个文件中的对象数量将相同。

标签: json command-line terminal jq


【解决方案1】:

对于这类问题,transpose(想想zip)通常可以用来产生紧凑的解决方案。在本例中:

jq -s 'transpose | map(add)' file1.json file2.json

jq 的transpose 也可以用于长度不同的数组。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-14
    • 2023-03-22
    • 2022-10-24
    • 2013-11-01
    相关资源
    最近更新 更多