如何从curlJSON输出中获取特定字符串

如何从curlJSON输出中获取特定字符串,curl,jq,jira-rest-api,Curl,Jq,Jira Rest Api,我正在对Jira api执行以下curl命令: issue_key=$(curl-g-D--X GET-H“内容类型:应用程序/json” ${real\u value}&maxResults=2&fields=id,key -u“测试用户:测试通过”) 我这样做是为了接收与自定义字段的特定值相匹配的Jira issue密钥(参见[10804]) 对我的curl请求的答复如下: HTTP/1.1 200 X-AREQUESTID: 674x690471x1 X-XSS-Protection: 1

我正在对Jira api执行以下curl命令:

issue_key=$(curl-g-D--X GET-H“内容类型:应用程序/json” ${real\u value}&maxResults=2&fields=id,key -u“测试用户:测试通过”)

我这样做是为了接收与自定义字段的特定值相匹配的Jira issue密钥(参见[10804])

对我的curl请求的答复如下:

HTTP/1.1 200
X-AREQUESTID: 674x690471x1
X-XSS-Protection: 1; mode=block
X-Content-Type-Options: nosniff
X-Frame-Options: SAMEORIGIN
Content-Security-Policy: frame-ancestors 'self'
X-ASEN: SEN-389841
Set-Cookie: JSESSIONID=blabla; Path=/; HttpOnly
X-Seraph-LoginReason: OK
Set-Cookie: blablab; Path=/
X-ASESSIONID: zffx7a
X-AUSERNAME: test_user
Cache-Control: no-cache, no-store, no-transform
Content-Type: application/json;charset=UTF-8
Transfer-Encoding: chunked
Date: Tue, 26 Nov 2019 09:14:29 GMT

{"expand":"names,schema","startAt":0,"maxResults":2,"total":1,"issues":[{"expand":"operations,versionedRepresentations,editmeta,changelog,renderedFields","id":"574719","self":"real_path/rest/api/2/issue/574719","key":"test_project-4044"}]}
但是,我只希望从curl接收以下值(出现在响应末尾,JSON响应部分的“key”下):test_project-4044

有人能帮我吗

谢谢

是你的朋友(因为这个和许多其他json技巧):

您不需要将
-D
-X
传递给curl。我想您仍然需要
-H
选项

固定的命令行可能类似于:

curl-g-H“内容类型:application/json”http://real_path/rest/api/2/search?jql=cf[10804]~${real\u value}&maxResults=2&fields=id,键“-u”test\u user:test\u pass”)| jq-r。问题[0]。键“

给出问题中的json示例,并将其传递到
jq-r'.issues[0].key'
,它将生成以下输出:

test_project-4044