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

使用jq如何批量修改JSON中root下所有嵌套子对象的leaf字段值

解决方案

你可以直接使用如下jq命令完成转换:

jq '.root[].leaf = "updated"' 输入文件.json

命令说明

  • .root 定位到JSON顶层的root节点
  • [] 遍历root节点下的所有直接子节点
  • .leaf = "updated" 将遍历到的每个子节点下的leaf字段赋值为固定字符串"updated"

jq的赋值操作默认会保留所有未被修改的字段,因此JSON中another-root、foo等其他节点内容都会保持原样,完全符合需求。
如果需要避免给原本没有leaf字段的root子节点新增字段,可以使用带判断的变种命令:

jq '(.root[] | select(has("leaf"))).leaf = "updated"' 输入文件.json

内容的提问来源于stack exchange,提问作者Shang Jian Ding

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 16:15:03