我有一些看起来像这样的 json
{
"users":[ {
"id":8734,
"last_login":"2016-10-04T06:59:40Z"
},
{
"id":9376,
"last_login":"2016-05-04T20:37:32Z"
},
{
"id":9376,
"last_login":null
}
]}
我想返回上次登录日期 > 90 天的 ID,因此在这种情况下它应该只返回 9376。我想我需要将 fromdateiso8601 与选择结合使用,但在正确使用语法时遇到了一些麻烦。
这似乎有效
.users[] | select ( .last_login | fromdateiso8601 > 1475625600) | .id
但我仍然得到
jq: error (at <stdin>:0): strptime/1 requires string inputs and arguments
我如何处理空值,理想情况下这些将包含在结果中。
最佳答案
只需添加适当的空检查。
.users[] | select (.last_login | . == null or fromdateiso8601 > 1475625600).id
关于json - jq 按日期过滤json,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39881728/