擅长:python、mysql、java
<p>请在下面核对我的答案:</p>
<p>1.)我在powershell 5.x上测试了这些东西。较新或较旧版本的powershell(尤其是较旧版本)的工作原理可能略有不同</p>
<p>2.)Invoke Restmethod会自动将json响应转换为powershell对象,因此无需进一步处理。将所有赋值都放到哈希表中</p>
<pre><code>$responseJson = '{
"500 HR": 500,
"1000 HR": 1000,
"2000 HR": 2000
}'
$response = $responseJson | ConvertFrom-Json
$nodes = (Get-Member -inputobject $response -MemberType NoteProperty).Name
$nodes | ForEach-Object {
echo ("Element: $_ Result: " +$response.$_)
}
echo "Another one"
#alternative
foreach ($node in $nodes) {
echo ("Element: $node Result: " +$response.$node)
}
</code></pre>
<p>3.)我认为响应的格式不好,因此,如果您可以控制restservice,我建议如下:</p>
<pre><code>$responseJson = '{
"hr": [
500,
1000,
2000
]
}'
$response = $responseJson | ConvertFrom-Json
$response.hr | ForEach-Object {
echo ("Element: $_ Result: " +$response.$_)
}
</code></pre>