Ruby:比较两个解析的json而忽略某些键

时间:2014-03-17 08:46:46

标签: ruby json rspec

我试图在Ruby中使用json gem和Rspec语法比较两个已解析的json对象。

JSON.parse(@response.body).should == JSON.parse(File.read(file_path))

在进行比较时,有什么方法可以排除某些(键,值)对吗?

非常感谢提前。

1 个答案:

答案 0 :(得分:0)

AFAIK,没有内置的可能性,但您可以通过以下方式自由map-reduce哈希:

JSON.parse(@response.body).reject { |k, v| v > 5 }.should == …

E.g:

excluded = %w(bad wrong)
JSON.parse(@response.body).reject { |k, v| excluded.include? k}.should == …

希望它有所帮助。