我需要使用JQ修改JSON树中嵌套对象中的元素-数组-(例如:“ group-xyz”),但是一旦完成,我就需要整个对象以及修改后的数据。
目标是更新JSON树并将其完整保存。 例如:添加数组元素,空数组等。
{
"group-abc": {"users": ["tina.turner"]},
"group-def": {"users": ["someone.else"]},
"group-xyz": {"users": ["that.thing"]
}
然后我有兴趣返回这样的对象:
{
"group-abc": {"users": ["tina.turner"]},
"group-def": {"users": []},
"group-xyz": {"users": ["that.thing","well.done"]
}
答案 0 :(得分:1)
我已更改要求以适合更复杂的表格。要将用户添加到这些组的任何用户中,这就是我所做的:
jq '. |= map( if ( .group=="abc") then .users+=["final.answer",] else . end)' source.json
产生了结果
[
{
"group": "abc",
"users": [
"user1",
"user2",
"final.answer"
]
},
{
"group": "def",
"users": [
"user4",
"user5"
]
}
]