Это странное поведение, которое я обнаружил из-за структуры некоторого JSON, который я пытаюсь обработать. Я просто пытаюсь вернуть все имена свойств. Это мой JSON:
$x = @"
[
{
"test": [
"item1"
]
},
{
"test2": [
"item2"
]
}
]
"@ | ConvertFrom-Json
Вы также можете создавать такие объекты, что приводит к той же проблеме:
$x= @()
$x += [pscustomobject]@{
'test' = 'item1'
}
$x += [pscustomobject]@{
'test2' = 'item2'
}
Обратите внимание, что теперь я могу написать $x | fl
и получить всю эту информацию, как обычно.
$x | fl
test : item1
test2 : item2
Однако при использовании Get-Member включается только первый объект.
$x | Get-Member -MemberType NoteProperty
Name MemberType Definition
---- ---------- ----------
test NoteProperty string test=item1
Кто-нибудь знает, почему это так? Я не могу изменить структуру JSON.