jq обновить ключ и значение с помощью переменных - PullRequest
0 голосов
/ 03 октября 2018

Мне нужно обновить данные JSON с указанным ключом и значением.Я попытался передать это как переменные для ключа и значения.У меня есть данные JSON, в моем методе Unix я получаю ключ и значение в качестве параметров.Мне нужно обновить данные JSON для этого ключа с заданным значением.

1 Ответ

0 голосов
/ 03 октября 2018

Предполагая, что вы просто обновляете свойство по имени где-то в объекте и насколько сложным вы хотите установить ключ, вы можете получить все пути к значениям в вашем дереве и сравнить их, чтобы установить свое значение.

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