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

PowerShell如何根据输入id查询打印JSON转换后对象的对应内容

PowerShell 读取JSON中id对应内容的解决方案

问题根因

  • 你使用ConvertFrom-Json转换后的结果不是哈希表,是PSCustomObject类型,不能直接用[属性名]的索引方式读取属性,需要用.访问属性
  • 原始JSON的所有id对应条目都存储在根节点的ids数组属性中,你需要先访问$myvar.ids才能拿到所有数据集合

具体使用方法

1. 查询指定id的对应内容

比如查询id为121100的条目,执行以下命令:

# 过滤指定id的条目
$targetItem = $myvar.ids | Where-Object {$_.id -eq "121100"}
# 查看对应标签
$targetItem.Label
# 查看依赖库列表
$targetItem.Libraries
# 查看执行命令列表
$targetItem.Commands

2. 遍历所有id输出对应全部内容

foreach ($item in $myvar.ids) {
    Write-Host "id编号:$($item.id)"
    Write-Host "测试标签:$($item.Label)"
    Write-Host "依赖库:"
    $item.Libraries | ForEach-Object { Write-Host "- $_" }
    Write-Host "执行命令:"
    $item.Commands | ForEach-Object { Write-Host "- $_" }
    Write-Host "------------------------"
}

3. 转换为哈希表实现快速索引

如果你想用id作为key直接快速查询,可以手动将数组转成哈希表:

$idHash = @{}
foreach ($item in $myvar.ids) {
    $idHash[$item.id] = $item
}
# 之后就可以直接用id取值了
$idHash["121100"]
$idHash["121103"].Commands

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.08 05:15:03