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

如何使用PowerShell从JSON文件中提取passes、failures指定字段值

PowerShell读取JSON测试报告嵌套字段问题解决

问题描述

我需要从JSON测试报告文件中提取passes、failures字段的值,示例JSON数据如下:

{
  "stats": {
    "suites": 2,
    "tests": 4,
    "passes": 3,
    "pending": 0,
    "failures": 0,
    "start": "2021-11-05T15:58:26.817Z",
    "end": "2021-11-05T15:59:26.701Z",
    "duration": 55162,
    "testsRegistered": 4,
    "passPercent": 75,
    "pendingPercent": 0,
    "other": 0,
    "hasOther": false,
    "skipped": 1,
    "hasSkipped": true
  }
}

错误尝试

最初编写了以下代码,运行后两个字段输出均为空:

$json= Get-Content -Raw -Path 'C:\report.json' | ConvertFrom-Json
write-host "passes : $($json.passes)"
write-host "failures : $($json.failures)"

运行结果:

passes : 
failures :

错误原因

passes和failures不是JSON根级节点的属性,而是嵌套在stats节点下的子属性,直接从根节点访问自然无法获取到对应值。

正确实现

$json= Get-Content -Raw -Path 'C:\report.json' | ConvertFrom-Json
write-host "passes : $($json.stats.passes)"
write-host "failures : $($json.stats.failures)"

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 07:36:02