我遇到了一个奇怪的问题。我从API中取回一些数据并将其存储在$response中
结果如下所示(我已经更改了名称和ID):
accountId : 1234
secureScoreProgress : @{startDate=2022-12-12 00:00:00.000; endDate=2023-01-26 00:00:00.000; totalDays=2738; minScore=76; maxScore=534.18; averageScore=257.33; data=System.Object[]}
monitoredAccounts : @{total=479; data=System.Object[]}
accountIdToNameMap : @{1234=Apple; 5432=Microsoft; 2584=Tesla; 7533=Ben and Jerry; 7534=Micool Paul Inc; 7549=AGLX; 7558=Samsung}
我对“accountIdToNameMap”部分感兴趣,所以我将它存储到一个对象,如下所示:
$accounts = $response.accountIdToNameMap
这将返回以下列表:
1234 : Apple
5432 : Microsoft
2584 : Tesla
7533 : Ben and Jerry
7534 : Micool Paul Inc
7549 : AGLX
7558 : Samsung
如果我尝试对列表执行foreach,它只循环一次,并一次输出整个列表。
我尝试过ConvertFrom-JSON,但这会抛出无效的JSON原语:。
我尝试过ConvertTo-JSON,它可以工作,但是我仍然不能循环遍历结果。
{
"1234": "Apple",
"5432": "Microsoft",
"2584": "CH Hausmann",
"7533": "Hughes Fowler Carruthers",
"7534": "Tempest Resourcing",
"7549": "Cream UK Ltd",
"7558": "Illuminatis / Scout Data"
}
我哪里做错了?
1条答案
按热度按时间qhhrdooz1#
如果我试着在清单上做一个foreach
它不是一个列表,而是一个 object。你可以通过访问隐藏的
psobject
成员来枚举它的 properties:你可以用它来构建一个哈希表(一个无序字典):
现在,您可以轻松地将其用作查找表: