如何使用 jq 修改嵌套对象
How to modify a nested object with jq
鉴于此
{
"some": "property",
"nested": {
"hello": "world"
}
}
我想用 jq 得到这个结果
{
"some": "property",
"nested": {
"hello": "world",
"freshly": "added"
}
}
那么如何添加新添加的字段呢?我不知道根级别有多少属性(我想保留所有属性),我只知道嵌套对象的名称(这里是 "nested"),属性 的名称我想添加(此处 "freshly")及其值。
好吧,我自己找到了方法。如果您有更好的解决方案,欢迎在此提出。
jq '.nested=(.nested + {"freshly": "added"})'
只需将新值赋给嵌套对象即可。
.nested.freshly = "added"
你也可以简单的做
.nested += {freshly: "added"}
然后您可以一次添加多个嵌套键
鉴于此
{
"some": "property",
"nested": {
"hello": "world"
}
}
我想用 jq 得到这个结果
{
"some": "property",
"nested": {
"hello": "world",
"freshly": "added"
}
}
那么如何添加新添加的字段呢?我不知道根级别有多少属性(我想保留所有属性),我只知道嵌套对象的名称(这里是 "nested"),属性 的名称我想添加(此处 "freshly")及其值。
好吧,我自己找到了方法。如果您有更好的解决方案,欢迎在此提出。
jq '.nested=(.nested + {"freshly": "added"})'
只需将新值赋给嵌套对象即可。
.nested.freshly = "added"
你也可以简单的做
.nested += {freshly: "added"}
然后您可以一次添加多个嵌套键