如何使用jq修改嵌套对象



鉴于此

{
  "some": "property",
  "nested": {
    "hello": "world"
  }
}

我想用jq

得到这个结果
{
  "some": "property",
  "nested": {
    "hello": "world",
    "freshly": "added"
  }
}

那么如何添加新添加的字段呢?我不知道有多少属性是在根级(我想保持它们全部),我只知道嵌套对象的名称(这里"嵌套"),属性的名称,我想添加(这里"新鲜")和它的值。

将新值赋给嵌套对象。

.nested.freshly = "added"

我自己知道怎么做了。如果你有更好的解决方案,欢迎在这里提出。

jq '.nested=(.nested + {"freshly": "added"})'

您也可以直接

.nested += {freshly: "added"}

可以一次添加多个嵌套键

最新更新