我有一些像这样的JSON (来自PSObject):
[
{
"cf_workflow_1": 1212,
"cf_workflow_2": null,
"cf_workflow_3": null
},
{
"cf_workflow_1": null,
"cf_workflow_2": 9797,
"cf_workflow_3": null
},
{
"cf_workflow_1": 6262,
"cf_workflow_2": null,
"cf_workflow_3": null
}
]我想提取一个简单的数组:
(1212,9797,6262)我该怎么做呢?
下面是一些要使用的示例代码:
$tickets = @"
[
{
"cf_workflow_1": 1212,
"cf_workflow_2": null,
"cf_workflow_3": null
},
{
"cf_workflow_1": null,
"cf_workflow_2": 9797,
"cf_workflow_3": null
},
{
"cf_workflow_1": 6262,
"cf_workflow_2": null,
"cf_workflow_3": null
}
]
"@
$ticketsObject = $tickets | ConvertFrom-Json
#Show the ticket data
$ticketsObject | Format-Table -AutoSize
#Create an array to hold all the non-null workflow numbers
#It should eventually contain the value (1212,9797,6262)
$workflowNumbers = @()
#Not sure what to do here to return only the non-null workflow numbers as an array?
$workflowNumbers = $ticketsObject | foreach{$_}发布于 2019-01-30 05:08:22
这是可行的:
$ticketsObject |
ForEach-Object {$_.Psobject.properties |
where-Object {$_.Name -like 'cf*' -and $_.Value } | select -expand Value}我们的想法是查看每个对象的属性(仅cf*对象),并且仅查看具有值的对象,然后只获取值。
https://stackoverflow.com/questions/54429341
复制相似问题