【问题标题】:Merge json files using jq (one input object per file -> one larger output object, not a list)使用 jq 合并 json 文件(每个文件一个输入对象 -> 一个更大的输出对象,而不是列表)
【发布时间】:2020-05-13 08:30:44
【问题描述】:

我正在使用“jq -s .file1 file2”合并两个 json 文件,但我希望它们在没有逗号分隔的情况下合并。它也不应该以 []

开头

文件 1:

{
  "node1": {
    "Environment": "PRD",
    "OS": "linux"
  },
  "node2": {
    "Environment": "NPR",
    "OS": "linux"
  }
}

文件 2:

{
  "node3": {
    "Environment": "PRD",
    "OS": "linux"
  },
  "node4": {
    "Environment": "NPR",
    "OS": "linux"
  }
}

使用 jq -s 输出。文件 1 文件 2

[
    {
      "node1": {
        "Environment": "PRD",
        "OS": "linux"
      },
      "node2": {
        "Environment": "NPR",
        "OS": "linux"
      }
    },
    {
      "node3": {
        "Environment": "PRD",
        "OS": "linux"
      },
      "node4": {
        "Environment": "NPR",
        "OS": "linux"
      }
    }
]

所需输出:

{
  "node1": {
    "Environment": "PRD",
    "OS": "linux"
  },
  "node2": {
    "Environment": "NPR",
    "OS": "linux"
  },
    "node3": {
    "Environment": "PRD",
    "OS": "linux"
  },
  "node4": {
    "Environment": "NPR",
    "OS": "linux"
  }
} 

谁能帮我解决这个问题,谢谢!

【问题讨论】:

    标签: json jq


    【解决方案1】:

    一个选项会延长您的尝试:

    jq -s add file1 file2
    

    另一个:

       jq -n 'input+input' file1 file2
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-09-15
      • 1970-01-01
      • 2022-10-24
      • 1970-01-01
      • 1970-01-01
      • 2021-09-19
      • 2017-06-29
      相关资源
      最近更新 更多