在python中生成关于json的差异报告

在python中生成关于json的差异报告,python,json,python-3.x,regression,diff,Python,Json,Python 3.x,Regression,Diff,我有一个python中的回归测试脚本,它从ground truth文件接收JSON,从rest api接收JSON,如果它们不匹配,我想生成diff。该脚本是python中的。我可以浏览JSON并逐行比较,但挑战是新元素可以附加在末尾、开头或中间。然后一行接一行地变得复杂。是否有一些库可以在传递两个JSON字符串时吐出差异。您可以检查deepdiff包。下面是一个例子: from deepdiff import DeepDiff t1 = {'a': 10, 'b': 20} t2 = {'a

我有一个python中的回归测试脚本,它从ground truth文件接收JSON,从rest api接收JSON,如果它们不匹配,我想生成diff。该脚本是python中的。我可以浏览JSON并逐行比较,但挑战是新元素可以附加在末尾、开头或中间。然后一行接一行地变得复杂。是否有一些库可以在传递两个JSON字符串时吐出差异。

您可以检查deepdiff包。下面是一个例子:

from deepdiff import DeepDiff

t1 = {'a': 10, 'b': 20}
t2 = {'a': 10, 'b': 22}
ddiff = DeepDiff(t1, t2, ignore_order=True)
print(ddiff)

这张照片是:

{'values_changed': {"root['b']": {'new_value': 22, 'old_value': 20}}}

可能是朝着正确的方向迈出的一步。我看到了一个问题:Python 3.6.4 v3.6.4:d48ecebad5,2017年12月18日,21:07:28[GCC 4.2.1 Apple Inc.build 5666 dot 3],关于达尔文类型的帮助、版权、信用或许可证以获取更多信息。>>>从deepdiff导入deepdiff回溯最近一次调用last:File,第1行,在File/Users中/rchikka@us.ibm.com/下载/RegressionTesting/deepdiff.py,第1行,从deepdiff导入deepdiff导入恐怖:无法导入名称“deepdiff”@javaMan将您的deepdiff.py文件名更改为其他名称。这就是导致此导入错误的原因。