gpt4 book ai didi

ruby - 将 Json 响应与 Json 文本文件进行比较

转载 作者:太空宇宙 更新时间:2023-11-03 18:18:15 25 4
gpt4 key购买 nike

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

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

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

最佳答案

您需要解析测试的两端:

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

编辑
如果您想测试 JSON 的数组,并且您不确定文件中的顺序是否相同,意思是 [{a:1, b:2}, {a: 2, b:1}] 应该等于 [{a:2, b:1}, {a:1, b:2}], 你'需要先对它们进行排序(有关更多技术,请参阅 here):

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

编辑2
由于 Hashes 不能很好地排序,上面的方法将不起作用。您可以使用其他技术之一:

from_response = JSON.parse(response["data"])
from_file = JSON.parse(File.read(text.json))

(from_response & from_file) == from_response
(from_response - from_file).empty?

关于ruby - 将 Json 响应与 Json 文本文件进行比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22765660/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com