deepdiff 深度比较两个复杂对象(如字典、列表、嵌套结构等)之间的差异。
如果两个对象完全一致,DeepDiff 将返回一个空字典 {};否则,它会返回一个包含所有差异的字典
通过 pip 安装该库:
$ pip install deepdiff
from deepdiff import DeepDiff
json1 = {'code': 0, "message": "success", "data": {"total": 28, "id": 123}}
json2 = {'code': "0", "message": "success", "data": {"total": 29}}
diff_result = DeepDiff(json1, json2)
print(diff_result)
# 输出: {'type_changes': {"root['code']": {'old_type': <class 'int'>, 'new_type': <class 'str'>, 'old_value': 0, 'new_value': '0'}}, 'dictionary_item_removed': ["root['data']['id']"], 'values_changed': {"root['data']['total']": {'new_value': 29, 'old_value': 28}}}
pretty() 方法会自动为输出添加缩进和换行,使结构层次分明,便于阅读,返回字符串。
print(diff_result.pretty())
# Item root['data']['id'] removed from dictionary.
# Type of root['code'] changed from int to str and value changed from 0 to "0".
# Value of root['data']['total'] changed from 28 to 29.
↶ 返回首页 ↶