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

带方括号的JSON键名如何编写正确的jq查询语句?

解决jq访问含特殊字符键名的问题

当JSON键名包含[、]这类特殊字符时,不能使用常规的.点语法访问,必须采用字符串索引的方式,将完整键名用双引号包裹后放在方括号中。结合你提供的JSON结构,正确的jq命令如下:

jq '.jps.onInstall[0]["cmd [sqldb]"] = ["long line", "another line"]' my-app.json

关键点说明:

  • 针对特殊键名:用["cmd [sqldb]"]替代.点语法,完整保留键名中的特殊字符,避免jq解析出错。
  • 数组元素访问:你的onInstall是一个数组(包含单个对象元素),因此需要用[0]定位到数组内的第一个对象,再访问其内部的键值对。如果onInstall数组中有多个对象需要批量修改,可以将[0]替换为[],遍历所有数组元素:
    jq '.jps.onInstall[]["cmd [sqldb]"] = ["long line", "another line"]' my-app.json
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 12:20:27