3

次のコードを検討してください。

$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います。

ここで明らかな何かが欠けていますか?

4

1 に答える 1