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

如何在PowerShell中遍历多维JSON对象并提取指定字段?

PowerShell多维JSON遍历解决方案

针对第一层JSON结构的处理

你的原始JSON是三层嵌套数组,原代码仅遍历到第二层,无法获取最内层的键值对。需要增加一层循环访问最内层数组,或直接通过索引提取元素,修改后的代码如下:

# 将JSON字符串转换为PowerShell对象
$data = @"
[
    [
        [
            "test-1234",
            "2023-07-11T04:00:24+00:00"
        ]
    ],
    [
        [
            "sb-00091",
            "2023-07-11T04:00:21+00:00"
        ]
    ]
"@ | ConvertFrom-Json

# 遍历并构造自定义对象
$output = foreach ($level1 in $data) {
    foreach ($level2 in $level1) {
        [PSCustomObject]@{
            a = $level2[0]
            b = $level2[1]
        }
    }
}

# 格式化输出为表格
$output | Format-Table -AutoSize

执行后输出符合预期的格式:

a         b
----      ---------------------------
test-1234 2023-07-11T04:00:24+00:00
sb-00091  2023-07-11T04:00:21+00:00

针对第二层JSON结构的处理

当最内层数组包含嵌套对象时,通过.操作符直接访问对象属性即可,代码示例:

# 转换JSON为PowerShell对象
$data2 = @"
[
    [
        [
            "test-1234",
            "2023-07-17T04:00:18+00:00",
            {
                "Code": 8,
                "Name": "running"
            }
        ]
    ],
    [
        [
            "sb-00091",
            "2023-07-17T04:00:16+00:00",
            {
                "Code": 16,
                "Name": "running"
            }
        ]
    ]
"@ | ConvertFrom-Json

# 遍历提取所有字段
$output2 = foreach ($level1 in $data2) {
    foreach ($level2 in $level1) {
        [PSCustomObject]@{
            a = $level2[0]
            b = $level2[1]
            c = $level2[2].Code
            d = $level2[2].Name
        }
    }
}

# 格式化输出
$output2 | Format-Table -AutoSize

输出结果:

a         b                            c  d
----      ---------------------------  -- -------
test-1234 2023-07-17T04:00:18+00:00   8  running
sb-00091  2023-07-17T04:00:16+00:00  16  running

学习资源推荐

  • PowerShell官方文档的JSON处理模块,详细讲解ConvertFrom-Json、ConvertTo-Json用法及对象遍历技巧
  • 《Learn PowerShell in a Month of Lunches》:入门级书籍,有专门章节覆盖JSON数据处理和对象操作
  • 《PowerShell Cookbook》:进阶参考,包含多种复杂数据结构的处理场景,适合解决实际问题

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 13:32:44