Powershell - 从 JSON 数组 return 获取特定行的值
Powershell - Getting values from JSON array return for specific row
抱歉不得不问这样的问题,这里是自学成才的 powershell 用户。遇到一个问题,我似乎无法从 GET Invoke-RestMethod 上的 JSON return 获得我想要的值。
我正在尝试提取 JIRA 票证数据,以便检查自定义字段是否已更新为值。我尝试直接在响应中调用自定义字段,但是由于响应的格式设置方式,它只会 return 数据列,因此我无法在我的代码中使用此响应。
我的代码如下:
$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 (syntax object.property
) and Where-Object:[=20 的组合=]
($tester | Where fieldId -eq 'customfield_10191').value
Select-Object 也有效:
$tester | Where fieldId -eq 'customfield_10191' | Select-Object -Expand value
到 return 包含特定客户的对象:
$tester | Where fieldId -eq 'customfield_10191'
抱歉不得不问这样的问题,这里是自学成才的 powershell 用户。遇到一个问题,我似乎无法从 GET Invoke-RestMethod 上的 JSON return 获得我想要的值。
我正在尝试提取 JIRA 票证数据,以便检查自定义字段是否已更新为值。我尝试直接在响应中调用自定义字段,但是由于响应的格式设置方式,它只会 return 数据列,因此我无法在我的代码中使用此响应。
我的代码如下:
$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 (syntax object.property
) and Where-Object:[=20 的组合=]
($tester | Where fieldId -eq 'customfield_10191').value
Select-Object 也有效:
$tester | Where fieldId -eq 'customfield_10191' | Select-Object -Expand value
到 return 包含特定客户的对象:
$tester | Where fieldId -eq 'customfield_10191'