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

如何使用jq替换JSON指定值并返回完整文件内容

问题原因

你使用的jq命令中管道符|会切断上下文关系:执行到select(.Name == "api-key")后,jq的输出范围就被限定到了匹配到的单个Header对象上,最终只会输出这部分修改后的内容,丢失了原JSON的其余结构。

解决方法

将需要修改的属性路径用括号包裹,告知jq在完整的原始JSON上下文下修改指定属性,修改完成后输出完整的JSON内容:

jq '(.HeaderAuthentication.Headers[] | select(.Name == "api-key") | .Value) = "xxx"' scanprofile.json > tmp && mv tmp scanprofile.json

该写法完全兼容你当前使用的临时文件重命名方案,不需要依赖sponge工具。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 11:48:00