Мне нужно изменить значение набора ключей (определенного в переменной) в объекте JSON с помощью jq.Изменение значений JSON на основе массива ключей с помощью jq
В качестве примера, у меня есть объект JSON:
{
foo: {
bar: 1,
baz: 2,
qux: 3
}
}
и следующую переменную:
update_keys = ["bar", "baz"]
Я хотел бы сказать, 'изменить значение ключей в update_keys для X'.
следующие работы:
.foo = (.foo |
to_entries |
map(if .key == "bar" or .key == "baz"
then . + { "value":"X" }
else .
end) |
from_entries)
Но вместо if .key == "bar" or .key == "baz"
Ищу способ сказать if .key in update_keys
или подобную логику.
Не могли бы вы рассказать о том, каким должен быть результат. Не уверен, хотите ли вы расширить update_keys или изменить.foo –
Я хочу обновить foo, изменив значения ключей, определенных в массиве update_keys (все ключи меняются на одно значение) – fusio
Является ли 'update_keys' уже переменной, которую вы определили в' jq'? –