You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PowerShell中如何遍历API JSON响应的PSObject并访问属性

解决PowerShell中遍历API返回JSON的value数组问题

问题分析

你当前代码的核心错误在于:

  • Invoke-RestMethod默认会自动将JSON响应转换为PowerShell对象,不需要额外调用ConvertTo-Json,这一步反而把对象转回了JSON字符串,导致后续无法直接访问属性。
  • 后续尝试的代码中,你又错误地对JSON字符串使用ConvertTo-Json(应该用ConvertFrom-Json把字符串转回对象),但这完全是多余的步骤。

正确代码实现

直接使用Invoke-RestMethod返回的对象即可:

# 直接接收转换后的PowerShell对象,无需ConvertTo-Json
$response = Invoke-RestMethod -Uri $paymentJournalUri -Method 'GET' -Headers $headers

# 遍历value数组,访问每个元素的属性
$response.value | ForEach-Object {
    Write-Host $_.journalDisplayName
    # 也可以访问其他属性,比如:
    # Write-Host $_.id
    # Write-Host $_.vendorId
}

补充说明

如果确实需要查看原始JSON格式的响应,可以在获取对象后单独转换(添加-Depth参数避免嵌套对象被截断):

# 仅用于查看JSON格式输出
$response | ConvertTo-Json -Depth 10 | Write-Host

内容的提问来源于stack exchange,提问作者dmikester1

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 19:15:35