json - jq在变量的帮助下更新键和值
问题描述
我需要使用给定的键和值更新 JSON 数据。我尝试将其作为键和值的变量传递。我有 JSON 数据,在我的 Unix 方法中,我将键和值作为参数。我需要使用给定值更新该键的 JSON 数据。
解决方案
假设您只是按对象中某处的名称更新属性以及您希望设置键的复杂程度,您可以获得树中值的所有路径并进行比较以设置您的值。
$ jq --arg key 'somekey' --arg value 'somevalue' 'reduce (paths | select(.[-1] | tostring == $key)) as $i (.;
setpath($i; $value)
)' input.json
推荐阅读
- python - 在(Nginx)Web 服务器上运行简单 python 脚本的设置?
- angular9 - npm 错误!运行脚本时退出状态1
- python-3.x - 如何在 tkinter 中使用列表框查看图像
- objective-c - NSArray 分配导致“多个未排序的修改”
- xml - 没有重复的可选元素的 DTD
- scala - 无法让 println 在分组整数范围映射函数中工作
- java - java中的https POST调用
- java - 有没有办法从 InputStream 获取文件
- cassandra-3.0 - java驱动程序显示一致性级别为空
- kerberos - 是否可以使用wiremock将http流量记录/回放到kerberized端点,例如纱线休息API?