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

如何用JQ过滤JSON中Objects数组首元素并保留原结构

问题

原始JSON内容:

{
    "Objects": [
        {
            "Key": "file.txt",
            "VersionId": "111111"
        },
        {
            "Key": "file.txt",
            "VersionId": "22222"
        },
        {
            "Key": "file.txt",
            "VersionId": "33333"
        }
    ]
}

需要移除Objects数组的第一个元素,同时保留原JSON结构,期望输出:

{
    "Objects": [
        {
            "Key": "file.txt",
            "VersionId": "22222"
        },
        {
            "Key": "file.txt",
            "VersionId": "33333"
        }
    ]
}

此前使用命令 .Objects | .[1:] 仅输出处理后的数组,丢失了原有JSON结构,求正确处理方法。

解决方案

使用以下jq命令可在保留完整JSON结构的同时移除Objects数组的第一个元素:

jq '.Objects = .Objects[1:]' input.json

说明

  • 该命令核心是修改原对象的Objects字段值,而非单独提取数组:.Objects = .Objects[1:] 会将原Objects数组替换为从索引1开始的子数组(即去掉第一个元素后的数组),这样整个JSON结构得以保留,仅更新目标字段内容。
  • 若从标准输入读取JSON,可直接执行:
cat input.json | jq '.Objects = .Objects[1:]'

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 19:03:14