我向ManageEngine
技术支持数据库发出了API请求,该请求返回一个JSON响应,该响应作为以下三个哈希表的自定义对象返回:$ result.response_status,$ result.list_info和$ result.requests。其中三分之一包含我要寻找的数据。
$results.requests.id
整数
[$results.requests.subject
一个字符串
$results.requester
哈希表。
请求者哈希表是@requester{name= 'Martin Zimmerman'; email='[email protected]'}
我想做的是:
$results.requests | select id, subject, requester.name
获得显示ID,主题和请求者姓名的单行
id subject name
-- -------------- --------------
3329 Can't open file Martin Zimmerman
但是,我无法弄清楚用于提取请求者哈希表中名称键值的术语。
$results.requests | Select-Object id,subject,@{l='name';e={$_.requester['name']}}
此方法允许您从哈希表中调用名称键。编辑
如果您的
requester
项目是PSCustomObject,请尝试此。
$results.requests | Select-Object id,subject,@{l='name';e={$_.requester.name}}
使用类似的对象结构进行测试。
$results = New-Object psobject $requests = New-Object psobject $requests | Add-Member -MemberType NoteProperty -Name id -Value 2 $requests | Add-Member -MemberType NoteProperty -Name subject -Value "lol" $hash = @{} $hash.Add("email","[email protected]") $hash.Add("name","Martin Zimmerman") $requests | Add-Member -MemberType NoteProperty -Name requester -Value $hash $results | Add-Member -MemberType NoteProperty -Name requests -Value $requests $results.requests | select id,subject,@{l='name';e={$_.requester['name']}} id subject name -- ------- ---- 2 lol Martin Zimmerman