如何使用jq修改嵌套对象

时间:2015-07-29 07:40:17

标签: json jq

鉴于此

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

我想用jq

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

那么如何添加新添加的字段?我不知道根级别有多少属性(我想保留所有属性),我只知道嵌套对象的名称(这里是"嵌套"),属性的名称我想添加(这里"新鲜")及其价值。

3 个答案:

答案 0 :(得分:16)

只需将新值分配给嵌套对象。

.nested.freshly = "added"

答案 1 :(得分:2)

我发现自己该怎么做。如果你有更好的解决方案,那么欢迎你来这里给它。

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

答案 2 :(得分:0)

您也可以简单地

.nested += {freshly: "added"}

然后您可以一次添加多个嵌套键