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

如何使用JQ查找并替换JSON中指定key的键值对

解决方案

你可以通过jq的递归遍历能力匹配任意层级的state键,无需手动指定层级路径,实现全局替换:

可用命令

方案1(兼容所有新版jq,推荐)

使用walk内置函数遍历全JSON节点:

jq 'walk(if type == "object" and has("state") then .state = "Bihar" else . end)' sample-json.json

方案2(兼容旧版jq)

使用递归降序运算符..匹配节点:

jq '(.. | select(type == "object" and has("state"))).state |= "Bihar"' sample-json.json

补充说明

  • 上述命令会匹配JSON中所有层级下键名为state的字段,统一替换为Bihar,完全不需要写.address.state这类固定层级路径
  • 如果需要直接修改原文件,可以执行如下命令:
jq 'walk(if type == "object" and has("state") then .state = "Bihar" else . end)' sample-json.json > tmp.json && mv tmp.json sample-json.json

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 08:06:05