【python】使用deepdiff进行json数据对比

之前使用了difflib模块进行对比json数据,这次再次使用deepdiff模块来对比json数据差异,

from compare_json_data import TestDiffJson

from deepdiff import DeepDiff
data_old=TestDiffJson().old_data()
data_new=TestDiffJson().new_data()

print(data_old)
print(data_new)
result = DeepDiff(data_old, data_new)
print(result)

输出结果:

{'key1': 'value1', 'key2': 'value2', 'key3': [1], 'object': {'object_key1': 'object_value2', 'object_key2': {'sub_key': 'object_key2_sub_value', 'sub_key3': {'xx': 1}, 'sub_key4': {'xx': 1}}, 'object_key3': [{'list_sub_key1': 'xx'}, {'list_sub_key2': 'xx'}]}, 'x': 1.2}
{'key1': 'value1', 'key2': 'value2', 'key3': (1,), 'object': {'object_key1': 'object_value1', 'object_key2': {'sub_key': 'object_key2_sub_value', 'sub_key2': {'xx': 1}, 'sub_key3': 'test'}, 'object_key3': [{'list_sub_key1': 'xx'}, {'list_sub_key2': []}]}, 'x': 1.2}
{'type_changes': {"root['key3']": {'old_type': <class 'list'>, 'new_type': <class 'tuple'>, 'old_value': [1], 'new_value': (1,)}, "root['object']['object_key2']['sub_key3']": {'old_type': <class 'dict'>, 'new_type': <class 'str'>, 'old_value': {'xx': 1}, 'new_value': 'test'}, "root['object']['object_key3'][1]['list_sub_key2']": {'old_type': <class 'str'>, 'new_type': <class 'list'>, 'old_value': 'xx', 'new_value': []}}, 'dictionary_item_added': [root['object']['object_key2']['sub_key2']], 'dictionary_item_removed': [root['object']['object_key2']['sub_key4']], 'values_changed': {"root['object']['object_key1']": {'new_value': 'object_value1', 'old_value': 'object_value2'}}}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

高老庄里的高小翠

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值