Command-Line

使用 jq 編輯子 JSON 元素值

  • July 12, 2016

我正在嘗試使用 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"]'會做的

引用自:https://unix.stackexchange.com/questions/248370