ruby-on-rails - 将 json 响应与哈希数组进行比较

标签 ruby-on-rails ruby json hash rspec

当我在 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}

关于ruby-on-rails - 将 json 响应与哈希数组进行比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13235179/

相关文章:

ruby-on-rails - 将字符串转换为数组

javascript - 用于解析单键 : values out of JSON in Javascript 的正则表达式

python - 使用python打印嵌套在数组中的json对象

ruby-on-rails - 如何标准化Rails项目的JSON结果

ruby-on-rails - rails 在模型中验证该值在数组内

Ruby:如何获取字符串的第一个字符

ruby - pik 错误 : private method `gsub' called for nil:NilClass

java - 如何将随机字符串转换为整数以派生另一个整数,然后将它们转换为字符串以发送到 JSON 有效负载

ruby-on-rails - 是否有等同于使用嵌套子查询的 ActiveRecord,即 ... where NOT IN(select...)?

ruby-on-rails - 调试器不会安装 Rails 4.1.5