powershell - 如何为下面的代码编写一个循环以显示直到 n 出现在 .json 文件中的值,而不是尝试检索每个值的结果
问题描述
如何为以下代码编写一个循环以一次检索文件中存在的所有值,而不是使用它来检索文件中每个 {0} {1}.. 的值。
$data = Get-Content -Path 'C:\Users\Username\Downloads\ScheduledJobs1.json' | ConvertFrom-Json
$Status1 = $("{0:N1}" -f $data.value.CompletedJobs.State.Name)
$Asset1 = $("{0:N1}" -f $data.value.Application.Asset.Name)
$Application1 = $("{0:N1}" -f $data.value.Application.Name)
$Status2 = $("{1:N1}" -f $data.value.CompletedJobs.State.Name)
$Asset2 = $("{1:N1}" -f $data.value.Application.Asset.Name)
$Application2 = $("{1:N1}" -f $data.value.Application.Name)
$Status3 = $("{2:N1}" -f $data.value.CompletedJobs.State.Name)
$Asset3 = $("{2:N1}" -f $data.value.Application.Asset.Name)
$Application3 = $("{2:N1}" -f $data.value.Application.Name)
$Status4 = $("{3:N1}" -f $data.value.CompletedJobs.State.Name)
$Asset4 = $("{3:N1}" -f $data.value.Application.Asset.Name)
$Application4 = $("{3:N1}" -f $data.value.Application.Name)
$Status5 = $("{4:N1}" -f $data.value.CompletedJobs.State.Name)
$Asset5 = $("{4:N1}" -f $data.value.Application.Asset.Name)
$Application5 = $("{4:N1}" -f $data.value.Application.Name)
解决方案
当 you 时ConvertFrom-Json
,您将获得$data
一个结构化的 powershell 对象。我看到您正在尝试根据您的要求优化该对象的值。理想情况下,您希望另一个对象中的精炼值在其他地方使用。
$data = Get-Content -Path 'C:\Users\Username\Downloads\ScheduledJobs1.json' | ConvertFrom-Json
$Result = for ($i = 0; $i -lt $maxCount; $i++)
{
$Obj = [PScustomObject]@{
Status = $("{$i`:N1}" -f $data.value.CompletedJobs.State.Name)
Asset = $("{$i`:N1}" -f $data.value.Application.Asset.Name)
Application = $("{$i`:N1}" -f $data.value.Application.Name)
}
$Obj
}
$Result | ft
在$maxcount
您的情况 4 中,或者如果您的 Json 中有更多数据,它可能是$data.Count
. 那是你的责任去弄清楚。
这将在每次迭代中创建一个$obj
具有 3 个属性的对象并将其添加到$result
.
所以$Result
会有你最终的合并对象。这样做:$result | ft
看看这是否是你想要的。
推荐阅读
- r - 如何将字符串转换为字符串向量
- android - Android:消除图像上的填充/边框
- android - 有没有办法以编程方式更改设备的蓝牙配置文件?
- ios - 访问堆栈和堆中的数据有什么区别?
- c# - ORACLE char(13) 在 ASP.NET MVC 中替换
- beautifulsoup - 在python beautifulsoup中列出for循环内的值
- android - TabLayout 与 ViewPager 在新选项卡选择上以前的选项卡文本消失
- r - 如何摆脱 R 中 gtsummary 包创建的表中的前导零?
- c# - 使用从一个 web api 到另一个 api 的数据列表
- java - 从生成的招摇客户端获取原始响应