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

如何使用jq向嵌套在多层对象内的JSON数组添加新元素

正确的jq操作命令

方案1:固定下标写法(确认FieldValues第一个元素就是目标Groups项时使用)

jq '.FieldValues[0].Value += [{"Id": 642587, "Label": "S8"}]' current.json

如果需要直接修改原文件,加上-i参数即可:

jq -i '.FieldValues[0].Value += [{"Id": 642587, "Label": "S8"}]' current.json

方案2:通用筛选写法(适配FieldValues数组有多个元素、顺序不固定的场景)

通过select匹配FieldName为Groups的项再操作,不会受数组顺序影响:

jq '(.FieldValues[] | select(.FieldName == "Groups").Value) += [{"Id": 642587, "Label": "S8"}]' current.json

原错误写法问题说明

你之前的写法操作路径是根对象.,所以新增的Value数组直接挂载到了JSON最外层,没有命中嵌套在FieldValues下的目标Value数组,所以结构不符合要求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.17 05:06:03