我正在使用PowerShell調用GitHub API。結果是一個JSON數組,我使用ConvertFrom-Json cmdlet將其轉換爲PowerShell對象。這給了我一個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
我很困惑。爲什麼單行版本不起作用?
我不確定爲什麼發生這種情況,但如果使用invoke-restmethod,則不需要使用convertfrom-json,因爲它會自動將其轉換爲對象。 –
我不知道Invoke-RestMethod - 謝謝 - 這很好。儘管如此,我仍然需要臨時變量。神祕仍然存在。 – Edward
這裏的示例2建議您的代碼應該正常工作https://msdn.microsoft.com/en-us/powershell/reference/5.1/microsoft.powershell.utility/convertfrom-json –