PowerShell:按变量值检索JSON对象

时间:2015-04-18 13:15:58

标签: powershell

$json = ConvertFrom-Json "{key:true}"
$key = "key"
Write-Host $json[$key]

我希望打印出真实,但事实并非如此。我知道$json.key会起作用。可以这样做吗?

2 个答案:

答案 0 :(得分:8)

如果您知道$json.key会起作用,那么为什么您要从点到方括号切换? 所有这些都可行:

$json = ConvertFrom-Json "{key:true}"
$key = "key"

Write-Host $json.$key
Write-Host $json.$($key)
Write-Host $json."$key"

答案 1 :(得分:2)

您可以使用带有变量的点表示法来引用它。

$json.$key

因此,如果在写主机中使用引号,则在Write-Host中需要一个子表达式

Write-Host "Key is: $($json.$key)"

您尝试使用数组表示法并返回null。