(Publicando @glennjackman comente como uma resposta da comunidade para evitar que o sistema elide automaticamente a questão )
jq '.body.test2 = ["hi"]'
will do it
Estou tentando usar o jq para alterar o valor de uma criança. Por exemplo, quero alterar o valor de "test2" de ["yo", "bye"] para ["hi"].
{
"title": "hello",
"body": {
"test1": 123,
"test2": [
"yo",
"bye"
]
}
}
Até agora só consegui alterar valores de chaves que são childs da raiz. Eu não consigo descobrir como levar isso e ir para .body.test2 em vez de título:
cat test.conf | jq 'to_entries | map(if .key == "title" then . + {"value":"hello world"} else . end) | from_entries' > test2.conf
(Publicando @glennjackman comente como uma resposta da comunidade para evitar que o sistema elide automaticamente a questão )
jq '.body.test2 = ["hi"]'
will do it
Tags command-line json replace jq