如何解决根据 PowerShell 中 Invoke-RestMethod 的结果计算值
我可以通过提供以下格式的 API 通过 Invoke-RestMethod 取回数据:
1612142668000000000 : @{peak_performance=29.18; current_utilization=19.15}
1612146268000000000 : @{peak_performance=29.05; current_utilization=20.03}
1612149868000000000 : @{peak_performance=29.07; current_utilization=18.86}
如果有帮助,上面的JSON格式是:
{
"1612142668000000000": {
"peak_performance": 29.18,"current_utilization": 19.15
},"1612146268000000000": {
"peak_performance": 29.05,"current_utilization": 20.03
},"1612149868000000000": {
"peak_performance": 29.07,"current_utilization": 18.86
}
}
我希望能够计算和显示所有可用的 peak-performance
和 current_utilization
值的平均值,但我不知道如何执行此操作。有什么想法吗?
解决方法
有很多解决方案:
$json = @"
{
"1612142668000000000": {
"peak_performance": 29.18,"current_utilization": 19.15
},"1612146268000000000": {
"peak_performance": 29.05,"current_utilization": 20.03
},"1612149868000000000": {
"peak_performance": 29.07,"current_utilization": 18.86
}
}
"@
$jout = $json | ConvertFrom-Json
$result = $jout.PSObject.Properties.Value | Measure-Object -Property current_utilization,peak_performance -Average
foreach($v in $result){
Write-Host $v.Property " = " $v.Average
}
结果:
current_utilization = 19.3466666666667
peak_performance = 29.1
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。