我目前有一个我需要阅读的文件,其中包含以下信息
$ deployTargets = @ { “1”= @ {“WhiteList”= @(“Dave”,“Andrew”)}; “2”= @ {“BlackList”= @(“Rita”,“Sanjay”)}; };
我正在尝试编写一个powershell脚本,如果部署目标= 1并返回白名单,它将从ps1文件返回此信息。
非常感谢任何和所有的帮助。
西蒙
答案 0 :(得分:1)
FTR,我低估了你的问题,因为它没有显示你自己的任何努力。但是,由于问题很简单明了,我还是回答了。
您的数据结构是带有嵌套哈希表的哈希表。在JSON表示法中,结构如下所示:
PS C:\> $deployTargets | ConvertTo-Json
{
"2": {
"BlackList": [
"Rita",
"Sanjay"
]
},
"1": {
"WhiteList": [
"Dave",
"Andrew"
]
}
}
哈希表(基本上是字典)是键/值对的列表。哈希表的元素可以通过它们各自的键访问,如下所示:
$hashtable[key]
或者像这样:
$hashtable.key
因此,您可以访问所需的信息:
$deployTargets['1'][Whitelist]
或者像这样:
$deployTargets.'1'.Whitelist
第一个键('1'
)周围的引号是必需的,因为该键是字符串'1'
,而不是整数1
。