psobject を ConvertTo-Json で JSON 化した際に object の並びを書いた通りに出来るかという話。
Sample1.ps1
$ob = New-Object -TypeName psobject -Property @{
FOO = 0
BAR = 0
BAZ = 0
PIYO = 0
}
ConvertTo-Json $ob
{
"BAZ": 0,
"BAR": 0,
"FOO": 0,
"PIYO": 0
}
-> 順序が変わっている。
Sample2.ps1
$ob = New-Object -TypeName psobject -Property @{}
@('FOO', 'BAR', 'BAZ', 'PIYO') | % {
$ob | Add-Member -MemberType NoteProperty -Name $_ -Value 0
}
ConvertTo-Json $ob
{
"FOO": 0,
"BAR": 0,
"BAZ": 0,
"PIYO": 0
}
-> 指定した順序になっている。