当我在json响应中得到一个对象数组时,它们可能以不同的顺序表示。
有时我会得到这个

JSON.parse(response.body) # => [{"a" => "b"}, {"c" => "d"}]

或者这个
JSON.parse(response.body) # => [{"c" => "d"}, {"a" => "b"}]

但对我来说两个结果都是正确的。什么是最简单的方法来测试哪些对象响应,而不管它们的顺序如何?

最佳答案

您可以使用哈希将其转换为类似集合的结构。

first_response.inject({}){|s, h| s[h] = true; s}

将与
second_response.inject({}){|s, h| s[h] = true; s}

07-28 03:25
查看更多