如何在PowerShell中使用foreach循环遍历JSON文件中的项?
在PowerShell中遍历JSON文件的所有项
步骤1:读取并解析JSON文件
先用Get-Content读取文件内容,再通过ConvertFrom-Json将JSON字符串转换为PowerShell可操作的对象:
# 替换为你的JSON文件实际路径 $jsonData = Get-Content -Path "C:\path\to\your\file.json" | ConvertFrom-Json
步骤2:遍历所有顶级项
PowerShell将JSON解析为PSCustomObject,可以通过PSObject.Properties访问所有顶级键值对,以下是两种常用遍历方式:
方式1:遍历键名再获取对应值
foreach ($key in $jsonData.PSObject.Properties.Name) { $currentItem = $jsonData.$key # 输出当前项的详细信息 "键名: $key" "isSecret: $($currentItem.isSecret)" "value: $($currentItem.value)" "------------------------" }
方式2:直接遍历属性对象
这种方式可直接获取属性的名称和对应值对象,代码更简洁:
foreach ($property in $jsonData.PSObject.Properties) { "键名: $($property.Name)" "isSecret: $($property.Value.isSecret)" "value: $($property.Value.value)" "------------------------" }
输出示例
运行后会输出类似以下内容:
键名: abc
isSecret:
value: '167401'键名: dar
isSecret:
value: 8980...(其余项依次输出)
内容的提问来源于stack exchange,提问作者Sourav Karmakar
相关产品推荐
相关产品推荐

