Command-Line
使用 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
(發布@glennjackman評論作為社區答案,以防止系統自動刪除問題)
jq '.body.test2 = ["hi"]'
會做的