3
使用jq
我想這個JSON文檔更新:如何使用jq更新json文件中的子項?
{
"git_defaults": {
"branch": "master",
"email": "[email protected]",
"user": "Jenkins"
},
"git_namespaces": [
{
"name": "NamespaceX",
"modules": [
"moduleA",
"moduleB",
"moduleC",
"moduleD"
]
},
{
"name": "NamespaceY",
"modules": [
"moduleE"
]
}
]
}
與添加moduleF
到NamespaceY
。我需要將文件重新寫回原始源文件。
我差點(但沒有雪茄)有:
jq '. | .git_namespaces[] | select(.name=="namespaceY").modules |= (.+ ["moduleF"])' config.json
和
jq '. | select(.git_namespaces[].name=="namespaceY").modules |= (.+ ["moduleF"])' config.json
我花了一點時間: (.git_namespaces [] | select(.name ==「NamespaceY」)。modules)| =(。+ [「moduleF」] | unique) 以確保它不會導致重複輸入 – MansM