PowerShell:以JSON输入中定义的相同顺序显示JSON对象属性

yxyvkwin  于 2023-08-08  发布在  Shell
关注(0)|答案(1)|浏览(123)

我有下面的代码,我希望使用powershell以相同的顺序显示JSON输入属性的输出。但是看起来像Get-Member -MemberType NoteProperty(我必须在这里过滤NoteProperty)正在对属性进行排序,并且无法获得所需的输出。

$JsonConfig = @"
    {
        "PostStep": {
            "AppExists": {
                "AppName": "Agent"
            },
            "Version": {
                "Number": "2.3"
            },
            "Execution": {
                "Argument": "/uninstall",
                "Installer": "C:\\WFBS\\Tool.exe"
            }
        }
    }
"@

$OrderedObject =   $JsonConfig | ConvertFrom-Json
$StepObject = $OrderedObject.PostStep

Foreach ($Property in $StepObject | Get-Member -MemberType NoteProperty) {
    Write-Host $($Property.Name)
}

字符串

输出:

AppExists
Execution
Version

期望输出:

AppExists
Version
Execution


任何建议都将对我如何解决这个问题非常有帮助。

kmb7vmvb

kmb7vmvb1#

使用psobject隐藏成员集按顺序访问属性:

foreach ($Property in $StepObject.psobject.Properties) {
    Write-Host $($Property.Name)
}

字符串

相关问题