jqを使用して子JSON要素の値を編集する

jqを使用して子JSON要素の値を編集する

jqを使用して子の値を変更しようとしています。たとえば、"test2"の値を["yo"、"bye"]から["hi"]に変更したいとします。

{
   "title": "hello",
   "body": {
       "test1": 123,
       "test2": [
           "yo",
           "bye"  
       ]
   }
}

これまでは、ルートのサブキー値のみを変更できます。これを受け入れ、ヘッダの代わりに.body.test2に移動する方法がわかりません。

cat test.conf | jq 'to_entries | map(if .key == "title" then . + {"value":"hello world"} else . end) | from_entries' > test2.conf

ベストアンサー1

(郵便こんにちはシステムから質問が自動的に削除されるのを防ぐために、コミュニティの回答としてコメントを残します.)

jq '.body.test2 = ["hi"]'する

おすすめ記事