json - jq:错误:无法用字符串索引数组
问题描述
我正在尝试为检查点管理服务器 api 编写 bash 脚本,但遇到了一些问题。我想在 json 字典中获取值,为此我必须使用变量。我正在输入这个命令:
echo $rulebase | jq --arg n "$0" '.rulebase[$n].to'
我得到下一个错误:
jq:错误:无法用字符串索引数组
但是,如果我使用:
echo $rulebase | jq '.rulebase[0].to'
我得到了我需要的结果。当变量是数字时,我不知道如何使用变量,有人可以帮助我吗?
解决方案
如果要传入数值,请使用
—-argjson
而不是—-arg
, 用于 JSON 字符串值。
如果你的 jq 不支持 --argjson,那么如果可能的话,现在是升级的好时机;否则,您可以使用tonumber
.
推荐阅读
- python - 为什么我的权限被拒绝?蟒蛇熊猫
- r - 如何在R中拆分字符并计算相应的频率
- google-apps-script - 如何加快删除满足特定条件的行的 for 循环?
- c - 我将如何修改这个单链表排序算法,使其按升序正确排序?
- python - Psycopg2“无法执行空查询”
- python - 从 git 部署带有 django 的 heroku 404
- php - 如何使用 Intervention Image Cache 输出缓存的图像?
- android - Android Gradle 错误:w:类路径中的运行时 JAR 文件应具有相同的版本。这些文件在类路径中找到:
- express - Joi 验证 string().trim() 不工作
- excel - 将excel范围复制到与相邻图片相同的幻灯片上