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

如何提取PSObject中friority为Medium的项并统计数量?

问题:筛选PSObject中friority为Medium的项并统计数量

我拥有一个PSObject,其结构如下:

IsGettable      : True
Value           : @{friority=Medium;removedDate=;etc..}

需求是提取其中friority属性为Medium的项,并统计这类项的数量。尝试过使用select-object和get-member命令,但未成功。

更新:
按照建议,我已将该对象转换为JSON对象并写入文件,JSON结构如下:

{
    "data":  [
                 {
                     "id":  487777,
                     "proVersion":  null,
                     "proName":  null,
                     "revision":  0,
                     "folderId":  4555,
                     "friority":  "Medium"
                 }
             ],
    "count":  567,
    "responseCode":  200
}

为节省篇幅,省略了部分对象值。之后尝试了如下命令:

($projIssues | Where-Object { $_.data.friority -eq "Medium" })

添加.count后得到结果567,但这并非我需要的符合条件的项的数量。

解决方案

你当前的命令错误地将整个顶层对象作为筛选目标,而没有遍历data数组内的元素。正确的操作是先定位到data数组,再对数组中的每一项进行筛选:

# 筛选出data数组中friority为Medium的所有项
$mediumPriorityItems = $projIssues.data | Where-Object { $_.friority -eq "Medium" }

# 统计符合条件的项数量
$mediumPriorityItems.Count

关键说明

  • $projIssues.data直接指向JSON结构中的数组集合,此时使用Where-Object会逐个检查数组内的每个对象
  • 你之前得到的567是顶层对象里的count属性值(总条目数),并非筛选后的结果数

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 03:05:41