我在一个返回JSON的URI上调用Invoke-RestMethod
,如下所示:
{
"01": {"ID":1, "Name":"Foo"},
"02": {...},
"03": {...}
}
我最终得到一个PSCustomObject
,其属性名称是键中的数字,值是对象图,但我想将对象视为键/值对的列表(即:字典)。我试过了:
(Invoke-RestMethod -Uri $uri) | foreach-object {
$_.ID
$_.Key.ID
}
等等;但后来意识到Foreach-Object
只迭代一次; Invoke-RestMethod
的返回值不是IEnumerable
如何在结果对象中获取属性和值的集合?
答案 0 :(得分:6)
结束使用此解决方案:
$js = (Invoke-RestMethod -Uri = $uri)
$hash = @{}
($js | Get-Member -MemberType NoteProperty).Name | Foreach-Object {
$hash[$_] = $js.$_
}