我有一个文件text.json,我有一个JSON HTTP响应。检查它们是否平等有什么好处?
这是我所拥有的,但我认为有更好的解决方案。
JSON.parse(response["data"]).eql?(File.read(text.json))
答案 0 :(得分:3)
您需要解析测试的两端:
JSON.parse(response["data"]).eql?(JSON.parse(File.read(text.json)))
修改强>
如果您要测试JSON的数组,并且您不确定文件中的顺序是否相同,则[{a:1, b:2}, {a:2, b:1}]
应该等于 {{1您需要先对它们进行排序(有关更多技巧,请参阅here):
[{a:2, b:1}, {a:1, b:2}]
编辑2
由于 JSON.parse(response["data"]).sort.eql?(JSON.parse(File.read(text.json)).sort)
不合适,以上情况不起作用。您可以使用其他技术之一:
Hash