在ruby中排序JSON哈希数组

所以我有一系列哈希:

[{"id":"30","name":"Dave"},
 {"id":"57","name":"Mike"},
 {"id":"9","name":"Kevin"},
 ...
 {"id":"1","name":"Steve"}]

我想用id属性对它进行排序,所以它看起来像这样:

[{"id":"1","name":"Steve"},
 {"id":"2","name":"Walter"},
 ...
 {"id":"60","name":"Chester"}]

我假设我使用sort_by方法,但我不确定如何做到这一点.

这应该工作:

array.sort_by { |hash| hash['id'].to_i }

在这种情况下,sort_by优先​​于sort,因为它更有效.虽然sort对每次比较调用to_i,但sort_by会对数组中的每个元素执行一次并记住结果.

翻译自:https://stackoverflow.com/questions/19636196/sort-in-ruby-a-json-array-of-hashes

转载注明原文:在ruby中排序JSON哈希数组