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

PowerShell如何从嵌套的REST API JSON结果中提取指定字段

PowerShell如何从嵌套的REST API JSON结果中提取指定字段

嗨,我完全懂你碰到的问题啦!你之所以用$json | Select-Object VirtualMachineName得到空白结果,是因为目标字段VirtualMachineName并不是直接在JSON的顶层对象里,而是嵌套在VirtualMachines这个数组属性里面的。

先拆解下你的JSON结构:顶层对象里的VirtualMachines是一个数组(就是带[]的部分),数组里的每一个元素才是包含VirtualMachineName的虚拟机对象。直接在顶层对象上找VirtualMachineName,自然找不到对应的属性,结果就会是空的!

给你两个简单好用的解决方法:

方法1:先定位数组再选择字段

先访问VirtualMachines数组,再对数组内的对象使用Select-Object:

$json.VirtualMachines | Select-Object VirtualMachineName

运行这个命令后,就能得到你想要的结果:

VirtualMachineName : xxxxxxxxxxx

方法2:直接提取字段值(适配单/多虚拟机场景)

如果只需要拿到虚拟机名称的具体值,不需要属性表头,可以直接访问数组内的字段:

$json.VirtualMachines.VirtualMachineName

如果API返回的数组里有多个虚拟机,这个命令会返回所有名称组成的数组,处理批量场景特别方便。

额外提个小建议:如果你的REST API有可能返回空的VirtualMachines数组,建议先做个非空判断(比如if ($json.VirtualMachines) { ... }),避免后续操作出现报错哦~

备注:内容来源于stack exchange,提问作者Bhupesh Gautam

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.15 14:55:29