私はPowerShellを使用してGitHub APIを呼び出しています。結果はConvertFrom-Jsonコマンドレットを使用してPowerShellオブジェクトに変換するJSON配列です。これは私にオブジェクトのPowerShell配列を与えます。しかし、私はパイプに直接この-オブジェクトを選択するには、私は何を取得する場合:Powershell Github APIを呼び出す:ConvertFrom-Jsonパイプラインの謎
Invoke-WebRequest -Uri "https://api.github.com/organizations?per_page=3" | ConvertFrom-Json | Select-Object -Property login, id
は、しかし、私は変数にConvertFrom-JSONの結果を入れ、その後、オブジェクトを選択するための変数を渡した場合、それが動作します:
$json = Invoke-WebRequest -Uri "https://api.github.com/organizations?per_page=3" | ConvertFrom-Json
$json | Select-Object -Property login, id
私は謎です。なぜ、1行バージョンは機能しないのですか?
なぜ起こっているのかわかりませんが、invoke-restmethodを使用すると、convertfrom-jsonを使用する必要はありません。これは、オブジェクトに自動的に変換されるためです。 –
私はInvoke-RestMethodについて知らなかった - ありがとう - それはいいです。私はまだ一時変数が必要です。謎は残っている。 – Edward
ここの例2は、あなたのコードが動作するはずであることを示唆しています。https://msdn.microsoft.com/en-us/powershell/reference/5.1/microsoft.powershell.utility/convertfrom-json –