You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PowerShell如何动态遍历嵌套JSON对象并提取指定字段?

遍历JSON对象并提取指定键值的PowerShell方法

当你通过$jsonMappings.config_service获取到的是PowerShell解析后的PSCustomObject时,直接用ForEach-Object遍历会把整个对象当作单个元素处理。要动态遍历其中的子对象并提取service键的值,可通过以下两种方法实现:

方法1:通过Get-Member获取属性后遍历

先获取父对象的所有属性(即config_service_1、config_service_2这类子对象的名称),再逐个提取对应子对象的service值:

$jsonMappings.config_service | Get-Member -MemberType NoteProperty | ForEach-Object {
    $jsonMappings.config_service.$($_.Name).service
}

方法2:通过PSObject.Properties直接访问属性集合

这是更简洁的方式,直接获取父对象的属性集合,遍历每个属性的Value(即子对象)并提取service值:

$jsonMappings.config_service.PSObject.Properties | ForEach-Object {
    $_.Value.service
}

扩展:同时获取配置名与对应服务值

如果需要同时拿到config_service_1这类配置名称和对应的服务值,可以输出自定义对象:

$jsonMappings.config_service.PSObject.Properties | ForEach-Object {
    [PSCustomObject]@{
        ConfigName = $_.Name
        ServiceName = $_.Value.service
    }
}

内容的提问来源于stack exchange,提问作者m341

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 06:55:13