将Json Response与Json文本文件进行比较

时间:2014-03-31 15:25:55

标签: ruby json text

我有一个文件text.json,我有一个JSON HTTP响应。检查它们是否平等有什么好处?

这是我所拥有的,但我认为有更好的解决方案。

JSON.parse(response["data"]).eql?(File.read(text.json))

1 个答案:

答案 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