Powershell 访问 属性 存储在 JSON 对象中

Powershell access property stored in JSON object

$primaryEndpoints = az storage account show --resource-group rg --name sto --query 'primaryEndpoints'

以上命令returns

{
  "blob": "https://sto.blob.core.windows.net/",
  "dfs": null,
  "file": "https://sto.file.core.windows.net/",
  "internetEndpoints": null,
  "microsoftEndpoints": null,
  "queue": "https://sto.queue.core.windows.net/",
  "table": "https://sto.table.core.windows.net/",
  "web": null
}

但是他下面的命令returns什么都没有:

echo $primaryEndpoints["blob"]

我也试过了

echo $primaryEndpoints.blob

如何访问 json 属性?

在我看来,您得到的 JSON 字符串作为 return 值。要按名称访问属性,您需要先将 JSON 字符串转换为 PSObject。

$primaryEndpoints = az storage account show --resource-group rg --name sto --query 'primaryEndpoints'

$primaryEndpointObjects = $primaryEndpoints | ConvertFrom-Json

$primaryEndpointObjects.blob