如何在PowerShell中读取JSON属性并筛选指定策略的最小审批人数值
PowerShell处理JSON属性与特定值提取方案
1. 逐行读取JSON所有属性的方法
若数据为JSON字符串,先通过ConvertFrom-Json转为PowerShell对象,再通过以下方式遍历属性:
方式一:用Get-Member列出所有属性
# 示例:将JSON字符串转为对象 $policyObjects = $jsonContent | ConvertFrom-Json # 遍历每个对象,输出属性信息 foreach ($obj in $policyObjects) { "=== 对象属性列表 ===" $obj | Get-Member -MemberType NoteProperty | Select-Object Name, Definition }
方式二:遍历PSObject.Properties获取属性详情
foreach ($obj in $policyObjects) { "=== 对象属性详情 ===" foreach ($prop in $obj.PSObject.Properties) { "$($prop.Name): $($prop.Value)" # 处理嵌套对象的属性 if ($prop.Value -is [PSObject]) { foreach ($nestedProp in $prop.Value.PSObject.Properties) { " 嵌套属性 $($nestedProp.Name): $($nestedProp.Value)" } } } }
2. 提取指定政策的minimumApproverCount值
针对你提供的政策配置数据,筛选type.displayName为Minimum number of reviewers的对象,提取settings.minimumApproverCount,代码如下:
# 假设已将政策数据转为PowerShell对象数组$policyObjects $targetApproverCount = $policyObjects | Where-Object { $_.type.displayName -eq "Minimum number of reviewers" } | Select-Object -ExpandProperty settings | Select-Object -ExpandProperty minimumApproverCount # 输出结果 "提取到的最小审核人数: $targetApproverCount"
针对你的示例数据,执行后会输出:
提取到的最小审核人数: 2
内容的提问来源于stack exchange,提问作者sirisha
相关产品推荐
相关产品推荐

