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
$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