如何在Azure CLI输出的JSON中排除指定属性 无需枚举全部保留属性
Azure CLI 输出排除指定属性的实现方案
核心方法
Azure CLI 依赖的 JMESPath 查询语法内置del()函数,可直接删除对象的指定属性,等效于PowerShell的Select-Object -Property * -ExcludeProperty功能,无需手动枚举所有需要保留的属性。
场景示例
针对你给出的az ad group list场景,要排除description和objectId两个属性,执行以下命令即可:
az ad group list --query "[].del(@, 'description', 'objectId')" -o json
语法说明
- 当返回结果为数组时,用
[]遍历数组内的每个元素 @指代当前遍历到的单个对象del()支持同时传入多个要删除的属性名,多个属性之间用逗号分隔- 若返回结果为单个对象,直接使用
del(@, '待排除属性1', '待排除属性2')作为--query的参数即可
旧版本兼容方案
如果你使用的Azure CLI版本内置的JMESPath不支持del()函数,可以使用以下替代查询语法实现相同效果:
az ad group list --query "[].with_entries(entries(@) [?key != 'description' && key != 'objectId'])" -o json
内容的提问来源于stack exchange,提问作者QuantAC
相关产品推荐
相关产品推荐

