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

Generate a diff report on json in python

我在 python 中有一个回归测试脚本,它从地面实况文件中获取 JSON 并从其余 api 中获取 JSON,如果他们不这样做匹配我想生成差异。脚本在 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}}}