在 Javascript 中,对象键是无序的,而在 Ruby 中,Hashes enumerate their values in the order that the corresponding keys were inserted .
在实践中,当将 JSON 对象转换为 Ruby 哈希时,Ruby 哈希中的键似乎是按照它们在 JSON 数据中写入的顺序排列的,例如:
irb(main):002:0> JSON.parse('{"a": 1, "b": 2}')
=> {"a"=>1, "b"=>2}
irb(main):005:0> JSON.parse('{"b": 1, "a": 2}')
=> {"b"=>1, "a"=>2}
我可以相信情况总是如此吗?
我想是的,因为在解析 JSON 时,我猜解析器会在发现键时插入键,但我找不到关于该主题的任何引用。
最佳答案
依靠假设,你可以。 Ruby 会跟踪键的顺序。
关于ruby - 使用 JSON.parse 将 JSON 对象中的键顺序转换为 Ruby 哈希,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31850741/