javascript - 按日期排列 json 输出

标签 javascript ruby-on-rails json

我想更改请求的 JSON 输出,现在它是按记录创建时间排列的,

{"id":1,"title":"The Town","release_date":"2010-10-21","image":"/zX4fKmDXKGt4hlzhAJirdlRKFgO.jpg","user_id":null,"created_at":"2015-12-04T19:57:58.449Z","updated_at":"2015-12-04T19:57:58.449Z","movie_id":"23168","imdb_rating":"7.6"},
{"id":2,"title":"Interstellar","release_date":"2014-11-06","image":"/nBNZadXqJSdt05SHLqgT0HuC5Gm.jpg","user_id":null,"created_at":"2015-12-04T19:58:16.600Z","updated_at":"2015-12-04T19:58:16.600Z","movie_id":"157336","imdb_rating":"8.7"},
{"id":3,"title":"Django Unchained","release_date":"2013-01-16","image":"/5WJnxuw41sddupf8cwOxYftuvJG.jpg","user_id":null,"created_at":"2015-12-04T20:00:22.411Z","updated_at":"2015-12-04T20:00:22.411Z","movie_id":"68718","imdb_rating":"8.5"},
{"id":4,"title":"Moonrise Kingdom","release_date":"2012-05-30","image":"/uw88gWDC0W7AAEhMeQmtdXFV7yR.jpg","user_id":null,"created_at":"2015-12-04T20:00:41.054Z","updated_at":"2015-12-04T20:00:41.054Z","movie_id":"83666","imdb_rating":"7.8"},
{"id":5,"title":"Gone Girl","release_date":"2014-10-01","image":"/gdiLTof3rbPDAmPaCf4g6op46bj.jpg","user_id":null,"created_at":"2015-12-05T09:05:08.424Z","updated_at":"2015-12-05T09:05:08.424Z","movie_id":"210577","imdb_rating":"8.2"}

但我想按发布日期排列数据,所以它看起来像这样,

{"id":1,"title":"The Town","release_date":"2010-10-21","image":"/zX4fKmDXKGt4hlzhAJirdlRKFgO.jpg","user_id":null,"created_at":"2015-12-04T19:57:58.449Z","updated_at":"2015-12-04T19:57:58.449Z","movie_id":"23168","imdb_rating":"7.6"},
{"id":4,"title":"Moonrise Kingdom","release_date":"2012-05-30","image":"/uw88gWDC0W7AAEhMeQmtdXFV7yR.jpg","user_id":null,"created_at":"2015-12-04T20:00:41.054Z","updated_at":"2015-12-04T20:00:41.054Z","movie_id":"83666","imdb_rating":"7.8"},
{"id":3,"title":"Django Unchained","release_date":"2013-01-16","image":"/5WJnxuw41sddupf8cwOxYftuvJG.jpg","user_id":null,"created_at":"2015-12-04T20:00:22.411Z","updated_at":"2015-12-04T20:00:22.411Z","movie_id":"68718","imdb_rating":"8.5"},
{"id":5,"title":"Gone Girl","release_date":"2014-10-01","image":"/gdiLTof3rbPDAmPaCf4g6op46bj.jpg","user_id":null,"created_at":"2015-12-05T09:05:08.424Z","updated_at":"2015-12-05T09:05:08.424Z","movie_id":"210577","imdb_rating":"8.2"}
{"id":2,"title":"Interstellar","release_date":"2014-11-06","image":"/nBNZadXqJSdt05SHLqgT0HuC5Gm.jpg","user_id":null,"created_at":"2015-12-04T19:58:16.600Z","updated_at":"2015-12-04T19:58:16.600Z","movie_id":"157336","imdb_rating":"8.7"},

使用 Ruby on Rails 可以做到这一点吗?

* 编辑*

我使用上面的 JSON 数据将其放入名为 movies 的 $scope 中。然后我使用 ng-repeat 输出数据。我无法在重复中使用 orderBy 因为我将项目放置在行中。但我认为如果我更改 $scope.movi​​es 中的顺序,那么使用 javascript 重新排列顺序也是可行的。

最佳答案

假设你正在处理 json,你可以使用

json_array.sort_by { |json| Time.parse(json['release_date']) }

这里有 2 个注释:

  1. Time.parse 对于每个项目来说都是一种开销(会更好),在排序之前执行此操作(但是对于小集合来说这不是问题)
  2. release_date 不是日期而是时间...这有点笨拙。 ;)

关于javascript - 按日期排列 json 输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34103991/

相关文章:

javascript - ember js 参数存在

javascript - 如何在 Android 中编写 JavaScript 应用程序

javascript - React - 条件导致变量未分配

ruby-on-rails - 在销毁相关模型更新之前,错误不会传播

ruby-on-rails - 如何在 Rails 中间件中查找当前抽象路由

jquery - Rails 3.1 实时预览

javascript - 通过导航栏加载 Angular Directive(指令)的不同 View

javascript - 我不懂 JSON。需要一些帮助来清理一些事情

json - 在swift中过滤JSON数据

jquery - 使用数据表 jquery 插件填充数据表时,如果使用 JSON 对象出现自定义异常,则抛出 ajax 错误