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是具有属性fieldIdlabelvalue的对象,则可以使用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

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...