如何在 PowerShell 中将 JSON 输出格式化为 Format-Table 的网格
How to format JSON Output into a Grid for Format-Table in PowerShell
下面的代码显示了我想要的数据,但它没有很好地对齐。
如何使用数据网格或格式-table 对齐数据?
$response = Invoke-RestMethod @params
foreach ( $row in $response )
{
Write-host "id=$($row.uuid) uuid=$($row.uuid) Subject=$($row.subject) "
}
现在的示例输出:
id=new-template_1 uuid=new-template_1 Subject=Welcome!
id=new-template_3 uuid=new-template_3 Subject=Welcome!
期望:
id uuid subject
new_template_1 new_template_1 Welcome!
new_template_3 new_template_3 Welcome!
如果您只想从 Invoke-RestMethod
输出的对象中获得一组“修剪过的”属性,请使用 Select-Object
:
$response = Invoke-RestMethod @params
$trimmedResponse = $response |Select-Object @{Name='id';Expression='uuid'},uuid,subject
# This will now default to table view formatting
$trimmedResponse
# But you can also explicitly pipe to `Format-Table`
$trimmedResponse |Format-Table
# ... allowing you greater control over the formatting behavior
$trimmedResponse |Sort-Object Subject |Format-Table -GroupBy Subject
传递给 Select-Object
(@{Name='id';Expression='uuid'}
) 的第一个参数称为 calculated property - 在本例中它定义了一个名为 id
的新 属性 , 与输入对象的 uuid
属性 的值
下面的代码显示了我想要的数据,但它没有很好地对齐。 如何使用数据网格或格式-table 对齐数据?
$response = Invoke-RestMethod @params
foreach ( $row in $response )
{
Write-host "id=$($row.uuid) uuid=$($row.uuid) Subject=$($row.subject) "
}
现在的示例输出:
id=new-template_1 uuid=new-template_1 Subject=Welcome!
id=new-template_3 uuid=new-template_3 Subject=Welcome!
期望:
id uuid subject
new_template_1 new_template_1 Welcome!
new_template_3 new_template_3 Welcome!
如果您只想从 Invoke-RestMethod
输出的对象中获得一组“修剪过的”属性,请使用 Select-Object
:
$response = Invoke-RestMethod @params
$trimmedResponse = $response |Select-Object @{Name='id';Expression='uuid'},uuid,subject
# This will now default to table view formatting
$trimmedResponse
# But you can also explicitly pipe to `Format-Table`
$trimmedResponse |Format-Table
# ... allowing you greater control over the formatting behavior
$trimmedResponse |Sort-Object Subject |Format-Table -GroupBy Subject
传递给 Select-Object
(@{Name='id';Expression='uuid'}
) 的第一个参数称为 calculated property - 在本例中它定义了一个名为 id
的新 属性 , 与输入对象的 uuid
属性 的值