2015-06-09 56 views
2

我在一個URI返回JSON這樣的呼籲Invoke-RestMethod枚舉PSCustomObject以鍵/值對

{ 
    "01": {"ID":1, "Name":"Foo"}, 
    "02": {...}, 
    "03": {...} 
} 

我結束了一個PSCustomObject這些屬性的名稱是在關鍵的數字,和值是對象圖,但我想將對象視爲鍵/值對列表(即:字典)。我試過了:

(Invoke-RestMethod -Uri $uri) | foreach-object { 
    $_.ID 
    $_.Key.ID 
} 

等等;但後來認識到Foreach-Object只迭代一次;從Invoke-RestMethod返回的值不是IEnumerable

如何獲取結果對象中的屬性和值的集合?

回答

3

結束了該解決方案的工作:

$js = (Invoke-RestMethod -Uri = $uri) 
$hash = @{} 
($js | Get-Member -MemberType NoteProperty).Name | Foreach-Object { 
    $hash[$_] = $js.$_ 
}