【问题标题】:jq order by date Error - jq: error (at <stdin>:17): Cannot iterate over string ("2020-12-11...)jq 按日期排序错误 - jq:错误(在 <stdin>:17):无法迭代字符串(“2020-12-11...)
【发布时间】:2021-04-27 19:48:47
【问题描述】:

在 json 中有一些我想按日期排序的记录,但是在尝试时会出现以下错误

dates.json

[  
  {
    "lastScalingAt": "2020-12-11T17:29:35.888Z",
    "lastConfigChangeAt": "2020-12-11T17:29:35.888Z"
  },
  {
    "lastScalingAt": "2020-12-11T17:29:38.655Z",
    "lastConfigChangeAt": "2020-12-11T17:29:38.655Z"
  },
  {
    "lastScalingAt": "2020-12-11T17:29:37.233Z",
    "lastConfigChangeAt": "2020-12-11T17:29:37.233Z"
  },
  {
    "lastScalingAt": "2020-12-08T20:42:09.990Z",
    "lastConfigChangeAt": "2020-03-30T16:23:59.682Z"
  }
]  

我试过这个:

jq '.[] | .lastConfigChangeAt | sort_by(.lastConfigChangeAt)' dates.json

错误: jq:错误(在:17):无法迭代字符串(“2020-12-11 ...)

我尝试了不同的方法,但找不到可能出错的地方

【问题讨论】:

    标签: json date sorting format jq


    【解决方案1】:

    我想按日期排序

    因此,感谢 ISO 8601,过滤器将是这样的:

    sort_by(.lastConfigChangeAt)
    

    (这就是整个jq程序。)

    【讨论】:

    • 如果我只是放置过滤器,那么它会显示另一个错误jq '.[] | sort_by(.lastConfigChangeAt)' dates.json jq: error (at dates.json:18): Cannot index string with string "lastConfigChangeAt"
    • 你为什么要更改我展示的程序?删除初始的 .[]
    • 完美,这是我的错误:jq ' sort_by(.lastConfigChangeAt)' dates.json 非常感谢!!
    猜你喜欢
    • 1970-01-01
    • 2019-07-14
    • 2020-01-06
    • 2015-03-28
    • 2019-11-02
    • 1970-01-01
    • 2019-09-14
    • 2018-04-11
    • 1970-01-01
    相关资源
    最近更新 更多