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

如何在PowerShell中遍历完整嵌套有序哈希表层级并输出所有成员数据?

PowerShell遍历嵌套有序哈希表的方法

针对嵌套的有序哈希表,有几种方法可以完整遍历并输出所有层级的成员及数据:

方法1:使用ConvertTo-Json展开层级

PowerShell的ConvertTo-Json默认只展开2层嵌套,指定-Depth参数即可覆盖默认值,完整输出所有层级:

$ret3 | ConvertTo-Json -Depth 3

输出示例:

{
  "Title": "ABC",
  "Data": {
    "Title": "ABC",
    "Data": {
      "Title": "ABC",
      "Data": "FFFFF"
    }
  }
}

方法2:自定义递归函数遍历

编写递归函数可以灵活控制输出格式,逐个遍历所有嵌套的哈希表成员:

function Get-NestedHash {
    param(
        [Parameter(Mandatory)]
        [hashtable]$Hash,
        [string]$Prefix = ""
    )
    foreach ($key in $Hash.Keys) {
        $value = $Hash[$key]
        if ($value -is [hashtable]) {
            Write-Host "$Prefix$key :"
            Get-NestedHash -Hash $value -Prefix "$Prefix  "
        }
        else {
            Write-Host "$Prefix$key = $value"
        }
    }
}

# 调用函数遍历$ret3
Get-NestedHash -Hash $ret3

输出示例:

Title = ABC
Data :
  Title = ABC
  Data :
    Title = ABC
    Data = FFFFF

方法3:使用Format-Custom查看结构化内容

Format-Custom可以指定展开深度,输出结构化的嵌套视图:

$ret3 | Format-Custom -Depth 3

输出示例:

class OrderedDictionary
{
  Title = ABC
  Data = 
    class OrderedDictionary
    {
      Title = ABC
      Data = 
        class OrderedDictionary
        {
          Title = ABC
          Data = FFFFF
        }
    }
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 08:29:57