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

简介: 【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'}}}


相关文章
|
3天前
|
数据处理 Python
数据变形记:Python转换技巧大公开,轻松玩转数据魔方!
在数据处理领域,数据变形是连接原始数据与洞察的桥梁。本文通过电商用户购买行为数据集的案例,展示了Python强大的数据处理能力。我们将购买日期转换为日期类型,计算每位用户的总花费,并对商品价格应用折扣,最终将杂乱的数据转化为有序、有价值的信息。通过Pandas库,我们实现了从简单类型转换到复杂数值计算的全过程,揭示了数据变形的无限可能。
13 1
|
3天前
|
XML 存储 JSON
Twaver-HTML5基础学习(19)数据容器(2)_数据序列化_XML、Json
本文介绍了Twaver HTML5中的数据序列化,包括XML和JSON格式的序列化与反序列化方法。文章通过示例代码展示了如何将DataBox中的数据序列化为XML和JSON字符串,以及如何从这些字符串中反序列化数据,重建DataBox中的对象。此外,还提到了用户自定义属性的序列化注册方法。
18 1
|
3天前
|
数据采集 存储 JavaScript
构建您的第一个Python网络爬虫:抓取、解析与存储数据
【9月更文挑战第24天】在数字时代,数据是新的金矿。本文将引导您使用Python编写一个简单的网络爬虫,从互联网上自动抓取信息。我们将介绍如何使用requests库获取网页内容,BeautifulSoup进行HTML解析,以及如何将数据存储到文件或数据库中。无论您是数据分析师、研究人员还是对编程感兴趣的新手,这篇文章都将为您提供一个实用的入门指南。拿起键盘,让我们开始挖掘互联网的宝藏吧!
|
1天前
|
Python
Python 中如何循环某一特定列的所有行数据
Python 中如何循环某一特定列的所有行数据
|
2天前
|
数据采集 数据挖掘 数据处理
数据清洗,不只是清洁!Python教你如何挖掘数据中的隐藏价值!
在数据驱动的时代,数据被视为企业的核心资产。然而,这些宝贵的数据往往伴随着噪声、缺失值、异常值等问题,如同未经雕琢的璞玉,需要精心打磨才能展现出其内在的价值。数据清洗,这一看似简单的预处理过程,实则蕴含着挖掘数据深层价值的无限可能。今天,就让我们借助Python的力量,一同探索如何通过数据清洗来发现数据中的隐藏宝藏。
12 1
|
2天前
|
JSON 数据格式
Blob格式转json格式,拿到后端返回的json数据
文章介绍了如何将后端返回的Blob格式数据转换为JSON格式,并处理文件下载和错误提示。
7 0
Blob格式转json格式,拿到后端返回的json数据
|
3天前
|
开发框架 JSON 缓存
震撼发布!Python Web开发框架下的RESTful API设计全攻略,让数据交互更自由!
在数字化浪潮推动下,RESTful API成为Web开发中不可或缺的部分。本文详细介绍了在Python环境下如何设计并实现高效、可扩展的RESTful API,涵盖框架选择、资源定义、HTTP方法应用及响应格式设计等内容,并提供了基于Flask的示例代码。此外,还讨论了版本控制、文档化、安全性和性能优化等最佳实践,帮助开发者实现更流畅的数据交互体验。
18 1
|
1天前
|
JSON API 数据格式
使用Python发送包含复杂JSON结构的POST请求
使用Python发送包含复杂JSON结构的POST请求
|
1天前
|
JSON JavaScript 前端开发
6-19|Python数据传到JS的方法
6-19|Python数据传到JS的方法
|
1天前
|
JSON 数据格式 Python
6-1|Python如何将json转化为字符串写到文件内 还保留json格式
6-1|Python如何将json转化为字符串写到文件内 还保留json格式