You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用jq将JSON部分字段迁移至新子对象中?

使用jq重组JSON结构:将指定字段移入新子对象

需求说明

需要将原JSON中的beta和delta字段提取出来,放入新建的epsilon子对象中,同时保留其他字段不变:

原JSON结构:

{
    "alpha": "...",
    "beta": [ ... ],
    "delta": { ... },
    "gamma": "..."
}

目标JSON结构:

{
    "alpha": "...",
    "epsilon" : {
        "beta": [ ... ],
        "delta": { ... }
    },
    "gamma": "..."
}

实现命令

可以用以下jq命令完成该操作:

. + {epsilon: {beta, delta}} | del(.beta, .delta)

命令解释

  1. . + {epsilon: {beta, delta}}:在原始JSON对象基础上新增epsilon字段,该字段的值是包含原beta和delta字段的子对象(jq支持直接用字段名快速构建对象)
  2. | del(.beta, .delta):通过管道符将前一步结果传入del函数,删除原对象中的beta和delta字段,避免字段重复

实际文件处理

如果要处理本地JSON文件(比如input.json)并将结果输出到新文件(output.json),可以执行:

jq '. + {epsilon: {beta, delta}} | del(.beta, .delta)' input.json > output.json

内容的提问来源于stack exchange,提问作者fbrereto

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.18 16:33:12