jq借助变量更新键和值

时间:2018-10-03 16:58:27

标签: json unix jq

我需要使用给定的键和值更新JSON数据。我尝试将其作为键和值的变量传递。 我有JSON数据,在Unix方法中,我得到了键和值作为参数。我需要使用给定值更新该键的JSON数据。

1 个答案:

答案 0 :(得分:0)

假设您只是通过对象中某个位置的名称更新属性,并且期望设置键的复杂程度,则可以获取树中值的所有路径并进行比较以设置值。

$ jq --arg key 'somekey' --arg value 'somevalue' 'reduce (paths | select(.[-1] | tostring == $key)) as $i (.;
    setpath($i; $value)
)' input.json