arrays - 修改数组中的一个值
问题描述
我有一个 foo.json,我想将 AAA 更新为 AAA-MY-SUFFIX。基本上,我想获取当前值(AAA),然后为其添加一个后缀。
[
{
"Key": "Name",
"Value": "awesome"
},
{
"Key": "role",
"Value": "AAA"
}
]
从上一个问题中,我可以使用以下方法替换 AAA 的值:
cat foo.json | jq '(.[] | select(.Key == "role") | .Value) |= "-MY_SUFFIX"'
但我想在现有值上附加一个后缀,而不是完全替换它。
像这样的东西(但它当然不起作用):
cat tags.json | jq '(.[] | select(.Key == "role") | .Value) |= .Value + "-MY_SUFFIX"'
我觉得我很接近,但我能弄清楚:(
解决方案
确实关闭。你可以简单地替换.Value + "-MY_SUFFIX"
为
. + "-MY_SUFFIX"
或者更好的是,使用+=
,如: ... += "-MY_SUFFIX"
就个人而言,我会使用过滤器:
map(if .Key == "role" then .Value += "-MY_SUFFIX" else . end)
(实际上,使用后缀会更好地符合规定的要求"-MY-SUFFIX"
:-)
推荐阅读
- python - 工具链构建 python3 kivy 错误 - Kivy ios ,bash
- javascript - 停止开始过渡
- python - 在单个 if 语句中组合多个存在性检查
- javascript - 带有查询的 JS import()
- scala - 如何总结scala中的两个累加器输出
- wordpress - ACF 关系字段返回 ID 而不是对象 - WordPress + Timber (TWIG)
- azure - 我*有时*收到“在 HTTP 请求中找到的 MAC 签名与任何计算机签名不同”错误
- c++ - 转换后的代码不执行给定的动作
- javascript - 如何在功能性 React 组件中触发 onScroll
- discord.py-rewrite - 如何使我的命令位于触发器的末尾?