辅助视频教程:​​​​​​Python基础教程|xin3721自学网ul li id=itemtitlePython3 从入门到精通视频教程/li /ul ul li class=description Python是一种跨平台的计算机程序设计语言。是一种面向对象的动态类型语言,最初被设计用于编写自动化脚本(shell),https://www.xin3721.com/eschool/pythonxin3721/

1、json数据转换成字典

dict1 = json.load(load_f1)
dict2 = json.load(load_f2)

2、将两个字典按key排好序,然后使用zip()函数将两个字典对应的key打包成元组。比较对应的key的value是否相等。

for src_list, dst_list in zip(sorted(dict1), sorted(dict2)):if str(dict1[src_list]) != str(dict2[dst_list]):print(src_list,dict1[src_list],dst_list,dict2[dst_list])

zip() 函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组。

如果数据格式为:

dict1 = {"id": "100", "name": "苹果", "info": {"uid":"2020","phoneName":["一代","苹果12"]}}
dict2 = {"id": "100", "name": "华为", "info": {"uid":"2020","phoneName":["一代","Mate40"]}}

使用递归函数进行处理

def cmp(src_data, dst_data):if isinstance(src_data, dict):"""若为dict格式"""for key in dst_data:if key not in src_data:print("src不存在这个key")for key in src_data:if key in dst_data:"""递归"""cmp(src_data[key], dst_data[key])else:print("dst不存在这个key")elif isinstance(src_data, list):"""若为list格式"""if len(src_data) != len(dst_data):print("list len: '{}' != '{}'".format(len(src_data), len(dst_data)))for src_list, dst_list in zip(sorted(src_data), sorted(dst_data)):"""递归"""cmp(src_list, dst_list)else:if str(src_data) != str(dst_data):print(src_data)dict1 = {"id": "100", "name": "苹果", "info": {"uid": "2020", "phoneName": ["一代", "苹果12"]}}
dict2 = {"id": "100", "name": "华为", "info": {"uid": "2020", "phoneName": ["一代", "Mate40"]}}
cmp(dict1, dict2)

Python比较2个json数据是否相等相关推荐

  1. 一篇长文带你在python里玩转Json数据

    Json简介 Json(JavaScript Object Notation) 很多网站都会用到Json格式来进行数据的传输和交换. 这因为Json是一种轻量级的数据交换格式,具有数据格式简单,读写方 ...

  2. python为什么closed_为什么Python无法解析此JSON数据? [关闭] - Why can't Python parse this JSON data? [closed]...

    问题: I have this JSON in a file: 我在文件中有此JSON: { "maps": [ { "id": "blabla&qu ...

  3. hutol json null值没了_一篇长文带你在python里玩转Json数据

    前言 文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者: 朱小五/凹凸玩数据 PS:如有需要Python学习资料的小伙伴可以加 ...

  4. C# json解析字符串总是多出双引号_一篇长文带你在python里玩转Json数据

    Json简介 Json(JavaScript Object Notation) 很多网站都会用到Json格式来进行数据的传输和交换,就像上篇我提到的网易云音乐接口,它们返回的数据都是Json格式的. ...

  5. python的jsonpath_python 提取json数据的jsonPath介绍及简单使用

    为什么要用jsonpath 就跟为什么要用xpath一样,jsonpath的设计灵感来源于xpath.一个强大的json数据提取工具.让用户不用编写脚本就可以提取到相应的json数据. jsonpat ...

  6. python读写json_python 读写json数据

    json 模块提供了一种很简单的方式来编码和解码JSON 数据. 字符串操作 其中两个主要的函数是json.dumps() 和json.loads() ,要比其他序列化函数库如pickle 的接口少得 ...

  7. Python爬虫笔记——解析json数据(以周杰伦歌单为例)及Headers

    一.Network Network能够记录浏览器的所有请求.我们最常用的是:ALL(查看全部)/XHR(仅查看XHR)/Doc(Document,第0个请求一般在这里),有时候也会看看:Img(仅查看 ...

  8. python爬取网页json数据_python爬取json数据库

    手把手教你使用Python抓取QQ音乐数据(第一弹) [一.项目目标] 获取 QQ 音乐指定歌手单曲排行指定页数的歌曲的歌名.专辑名.播放链接. 由浅入深,层层递进,非常适合刚入门的同学练手. [二. ...

  9. python笔记之单行json数据组成的json文件按行解析:read_json()

    做个笔记 代码 data_time='./xxx/' file_name_1='xxx.json'def read_json(file_name):a_list=[]b_list=[]file_pat ...

  10. Python爬虫 | 爬取json数据 实现酷我音乐下载

    文章目录 网页分析 明确思路 手动操作 代码实现 1. 导入需要的包 2. 建立主函数 3. 获取用户输入的歌曲网址 4. 获取歌名.歌手 5. 获取音频url 6. 下载音频 7. 主函数润色 8. ...

最新文章

  1. Apache Mina 介绍
  2. python3的3D实战 -基于panda3d(3)
  3. 【Tools】开源远程控制神器之RustDesk
  4. 『重构--改善既有代码的设计』读书笔记----Remove Middle Man
  5. awk 匹配_linux的awk命令详解,通俗易懂
  6. 2010年,您还不“工作流”吗?
  7. rails 3 中 app/model 目录下添加继承
  8. 移植UE4的Spline与SplineMesh组件到Unity5
  9. java 详情页_电商网站详情页系统架构
  10. (轉貼) 人人有功練!! 有功夫,沒懦夫 (News)
  11. Win10下ImageAI-gpu训练自己的数据集
  12. Windows设置程序开机自启动的几种方法(整理发布)
  13. Linux CentOS 重置root密码
  14. HC05蓝牙模块AT指令与手机蓝牙控制STM32板载LED
  15. [原创] Bandwagon 追加 swap 大小
  16. js 获取汉字首拼和全拼和拼音
  17. 清爽即正义,简洁即真理—lingvist
  18. 华为18级工程师一年心血终成Liunx教程,入门到高级附手册
  19. 前端项目部署,阿里云服务器部署前端项目,超详细
  20. 视频信号 | 双绞线视频传输器

热门文章

  1. Linux中ifconfig命令失效
  2. glsl boom
  3. 网页打不开QQ能上(外挂、加速器、翻墙工具等导致winsock异常)
  4. 四足爬行机器人运动_四足爬行机器人步态分析与运动控制
  5. 如何在CSDN博客中插入代码块显示行号
  6. 用Go语言开发一个编程语言
  7. CentOS7挂载CentOS7 everything安装光盘和设置yum源为挂载的光盘
  8. ajax获取上传文件的类型,ajax上传文件类型
  9. 白中英计算机组成原理第五版视频,白中英《计算机组成原理》第5版考研教材及真题视频讲解...
  10. Summer School Homework: C语言 订餐系统(总结)