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

如何根据PSObject的Value获取对应的Name属性?

根据PSObject的Value获取对应属性Name的方法

核心逻辑

PowerShell的psobject.properties属性会返回对象的完整属性元数据集合,每个元数据项包含Name和Value字段。只需遍历这个集合,根据Value的条件筛选,就能拿到对应的Name。

具体实现

1. 根据指定Value匹配对应的Name

如果你需要找某个特定值对应的属性名称,可以用以下代码:

# 定义目标值
$targetValue = "Production"
# 筛选匹配的属性并提取Name
$matchingPropertyName = $json.psobject.properties | Where-Object { $_.Value -eq $targetValue } | Select-Object -ExpandProperty Name

# 输出结果
$matchingPropertyName

2. 找出所有值为空的属性Name(你的实际需求)

针对你要遍历所有值为空的属性并输出对应Name的场景,推荐写法:

# 筛选所有值为空的属性,提取Name字段
$emptyPropertyNames = $json.psobject.properties | Where-Object { [string]::IsNullOrEmpty($_.Value) } | Select-Object -ExpandProperty Name

# 输出所有空值属性的名称
$emptyPropertyNames

额外说明

  • [string]::IsNullOrEmpty($_.Value)可以同时匹配$null、空字符串""以及空白字符串,覆盖大多数空值场景。
  • 如果需要处理数组或复杂对象的空值判断,可以根据实际需求调整Where-Object的条件。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 07:35:22