使用jq从多个对象的键中返回单个最小日期值

时间:2015-01-08 20:23:15

标签: jq

我有一组如下所示的对象,我试图从所有对象中获取一个日期值。

所需的输出是:

"2014-12-16T08:59:08.000+0100"

数据集是:

[
  {
    "key": "AB-12345",
    "type": "Fault",
    "typeid": "19",
    "status": "Open",
    "summary": "I'm a big bad fault",
    "closedDate": null,
    "flag": null
  },
  {
    "key": "AB-12346",
    "type": "Bug",
    "typeid": "19",
    "status": "Open",
    "summary": "I'm a big bad bug",
    "closedDate": "2014-12-16T08:59:08.000+0100",
    "flag": null
  },
  {
    "key": "AB-12347",
    "type": "Feature",
    "typeid": "19",
    "status": "Open",
    "summary": "I'm a big bad feature",
    "closedDate": "2014-12-17T08:27:07.000+0100",
    "flag": null
  }
 ]

我设法使用了:

.[] | {"closedDate": .closedDate} | select(.closedDate > 0)

哪能得到我:

{
  "closedDate": "2014-12-16T08:59:08.000+0100"
}
{
  "closedDate": "2014-12-17T08:27:07.000+0100"
}

但我无法找到使用selectmax_bymin_by来实现此目的的方法。

我在jq 1.4

1 个答案:

答案 0 :(得分:3)

将每个条目映射到closedDate过滤掉非值,然后获取最小值。

map(.closedDate | values) | min