如何解决Powershell-从JSON数组获取值返回特定行
在这里不得不问这样一个问题的道歉,这是自学的Powershell用户。有一个问题,我似乎无法从GET Invoke-RestMethod的JSON返回值中获得我想要的值。
我正在尝试提取JIRA票证数据,以便可以检查是否已使用值更新了自定义字段。我尝试直接在响应中调用自定义字段,但是由于格式化响应的方式,它只会返回数据列,因此我无法在代码中使用此响应。
我的代码如下:
$response = Invoke-RestMethod "https://jira-ceg.atlassian.net/rest/servicedeskapi/request/$JIRATICKET" -Method 'GET' -Headers $headers
$tester = $response.requestFieldValues
$tester
我从JIRA得到的答复如下:
fieldId label value
------- ----- -----
summary Summary STAFF-NEW - XXXX- NAME
customfield_10108 iTrent Information Employee ID: XXXX...
customfield_10086 Checklist Text --- ERROR - No Role Entitlement Found - Contact Service Admin
description Description A new employee has joined. Please process with the data above.
customfield_10191 New AD Address XXXX@XXXXX.com
我想捕获字段customfield_10191的值,该字段有时也可能为空,稍后将在脚本中对其进行测试。知道我该怎么做吗?
谢谢!
解决方法
如果$tester
是具有属性fieldId
,label
和value
的对象,则可以使用member access的组合(语法{{1} })和Where-Object:
object.property
Select-Object也可以:
($tester | Where fieldId -eq 'customfield_10191').value
要返回包含特定客户的对象:
$tester | Where fieldId -eq 'customfield_10191' | Select-Object -Expand value
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。