【问题标题】:jq: retrieve values from multiple entriesjq:从多个条目中检索值
【发布时间】:2020-12-06 11:09:06
【问题描述】:

(我已经搜索过,但一无所获。)

我有一个从 Jira 获得的(巨大的)json 文件,我想通过 linux 使用 curl 从不同条目中获取多个值。

例如:

{
   "expand": "names, schema",
   "startAt":0,
   "maxResults":1,
   "total":46,
   "issues":[
      {
         "key":"ABCD-12345",
         "fields":{
            "updated":"2020-12-03T13:16:17.000+0200",
            "customfield_18484":null,
            "customfield_14687":null,
            "customfield_14688":null,
            "customfield_18800":null,
            "customfield_23380":"",
            "customfield_18480":"off"
         }
      }
   ]
}

我想获取密钥 (ABCD-12345) 和更新后的 (2020-12-03T13:16:17.000+0200)。

每个命令单独工作,但我不知道如何组合它们。

我的命令:

curl -s -g -H "Content-Type: application/json" "<link to my jira with search parameters" -u "<user>:<password>" | jq '.issues[].key' | tr -d '"'

返回 ABCD-12345

curl -s -g -H "Content-Type: application/json" "<link to my jira with search parameters" -u "<user>:<password>" | jq  '.issues[].fields | "\(.updated)"' | tr -d '"'

返回 2020-12-06T10:08:06.000+0200

我尝试了几种组合,例如: jq '.issues[].fields | "(.updated)"' | jq '.issues[].key' jq '.issues[].fields | "(.updated)", .issues[].key'

但他们没有工作。

有什么想法吗? 谢谢!

【问题讨论】:

  • 您希望 jq 输出是什么样的? (哦,阅读它的-r 选项)。

标签: json curl jq


【解决方案1】:

这应该可以实现您想要的:

jq -r '.issues[] | .key+" "+.fields.updated'

【讨论】:

    猜你喜欢
    • 2019-04-06
    • 2014-05-07
    • 2017-11-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多