json - 使用 jq 映射两个数组并合并其中的对象

标签 json merge command-line-interface jq

我有两个长度相同的数组,其中包含对象:

input: [[{foo: 1}, {foo: 23}], [{bar: 12, baz: 543}, {bar: -1}]]

我怎么知道jq将它们合并到一个数组中,如下所示?

output: [{foo: 1, bar: 12, baz: 543}, {foo: 23, bar: -1}]

最佳答案

这是一个使用 transpose 的解决方案和 add 。假设示例数据位于 data.json 中:

$ jq -M 'transpose|map(add)' data.json
[
  {
    "foo": 1,
    "bar": 12,
    "baz": 543
  },
  {
    "foo": 23,
    "bar": -1
  }
]

Try it online at jqplay.org

关于json - 使用 jq 映射两个数组并合并其中的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47221672/

相关文章:

c# - Kendo MVC 网格创建操作 "maxJsonLength exceed"

jQuery 循环从 AJAX 成功的 JSON 结果?

version-control - 如何创作不易发生合并冲突的更改?

r - 仅当使用 data.table 的 := 连接两个表时才需要第一个实例

Excel 转置和/或合并单元格

php - 从 cron 运行 php 脚本而不是选择 $_SERVER ['host' ] 从 CLI 运行的 wheras 工作

java - 如何使用 Commons CLI 传递(和获取后)参数数组?

android - React-Native 通过教程 Facebook 获取 JSON 返回错误

Mysql 控制台备份导入在正确的目录和正确的密码下失败

JSON NSBundle 错误 - 线程 1 :EXC_BAD_INSTRUCTION (code=EXC_I386_INVOP, 子代码 = 0x0)