次のコードを検討してください。
$data = '[
{
"Name": "banana",
"Color": "yellow"
},
{
"Name": "kiwi",
"Color": "green"
},
{
"Name": "apple",
"Color": "red"
}
]'
# Returns 3 objects while only 1 was expected
$data | ConvertFrom-Json | Where-Object { $_.Name -eq 'banana' }
# Workaround, returns 1 object as expected:
($data | ConvertFrom-Json) | Where-Object { $_.Name -eq 'banana' }
最初のオプションを使用できないのはなぜですか? Where-Object
オブジェクトがjsonから変換された後、関数が正しく動作しないようです。これは PowerShell バージョン で発生して5.1
います。
ここで明らかな何かが欠けていますか?