首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jq合并两个不同格式的文件

jq合并两个不同格式的文件
EN

Stack Overflow用户
提问于 2022-11-02 04:12:58
回答 1查看 44关注 0票数 0

我有两份文件

file 1

代码语言:javascript
复制
{
    "version": "2",
    "run_id": "1",
    "crn": "crn",
    "date": "2022-11-02T02:09:30.629Z",
    "evidences": [
        {
            "version": "2",
            "id": "2d"
        },
        {
            "version": "2",
            "id": "3e"
        }  
]

file 2

代码语言:javascript
复制
[
        {
            "version": "3",
            "id": "3d"
        },
        {
            "version": "2",
            "id": "3f"
        }    
]

我们可以使用jqfile 2中的内容合并到file 1evidences部分吗?下面的结果应该是

file 1

代码语言:javascript
复制
{
    "version": "2",
    "run_id": "1",
    "crn": "crn",
    "date": "2022-11-02T02:09:30.629Z",
    "evidences": [
        {
            "version": "2",
            "id": "2d"
        },
        {
            "version": "2",
            "id": "3e"
        },
        {
            "version": "3",
            "id": "3d"
        },
        {
            "version": "2",
            "id": "3f"
        }    
]
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-11-02 04:22:50

您只需要+=在保留上下文的同时添加数组,并通过input访问第二个文件:

代码语言:javascript
复制
jq '.evidences += input' file1.json file2.json
代码语言:javascript
复制
{
  "version": "2",
  "run_id": "1",
  "crn": "crn",
  "date": "2022-11-02T02:09:30.629Z",
  "evidences": [
    {
      "version": "2",
      "id": "2d"
    },
    {
      "version": "2",
      "id": "3e"
    },
    {
      "version": "3",
      "id": "3d"
    },
    {
      "version": "2",
      "id": "3f"
    }
  ]
}

演示

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74284275

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档