Json差异比较

json差异比较

在这里插入图片描述

在这里插入图片描述

如何比较两个json的差异

代码实现

  1. 导入依赖
 <dependency><groupId>cn.xiaoandcai</groupId><artifactId>json-diff</artifactId><!-- 旧版本可能存在某些缺陷。版本请以maven仓库最版为准。 --><version>4.1.3-RC1-RELEASE</version></dependency><!-- 选择json解析框架。fastjson, fastjson2,gson,jackson 之一 --><dependency><groupId>cn.xiaoandcai</groupId><artifactId>json-diff-impl-fastjson</artifactId><version>4.1.3-RC1-RELEASE</version></dependency>
  1. 用例实现
 @Testpublic void testJsonDiff() throws JSONException, JsonProcessingException {String json1 = "{\"name\":\"John\", \"age\":30, \"city\":\"New York\",\"phone\":\"13800000000\",\"dog\":{\"age\":4,\"name\":\"mojo\",\"weight\":\"21.5\"}}";String json2 = "{\"name\":\"John\", \"age\":35, \"city\":\"Chicago\",\"qq\":\"123456789\",\"dog\":{\"name\":\"mojo\",\"age\":\"2\",\"color\":\"red\"}}";JsonComparedOption jsonComparedOption = new JsonComparedOption().setIgnoreOrder(true);JsonCompareResult jsonCompareResult = new DefaultJsonDifference().option(jsonComparedOption).detectDiff(json1, json2);List<Defects> defectsList = jsonCompareResult.getDefectsList();for (Defects d : defectsList) {Object actual = d.getActual();Object expect = d.getExpect();System.out.println("路径:" + d.getTravelPath().getAbstractTravelPath() + ",旧值:" + expect + ",新值:" + actual);}}

执行结果
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/16886.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

问题记录_stm32“No target connected“

问题描述&#xff1a; 基于HAL库和stm32cubeMX生成的代码&#xff0c;烧录时出现如下报错窗口&#xff1a; 问题原因&#xff1a; stm32cubeMX生成代码时关闭了SWJ调试功能 解决方法&#xff1a; 在项目中找到__HAL_AFIO_REMAP_SWJ_DISABLE();并注释掉 然后短按复位键的…

AI大模型是如何测试效果的?

AI大模型的测试和评估是一个复杂的过程&#xff0c;通常包括多个方面的考量&#xff0c;因此对大模型的测试也称为多度测试。 可以简单概括为以下几个方面&#xff1a; 基准测试&#xff08;Benchmarking&#xff09;&#xff1a;使用标准数据集和任务评估模型性能&#xff0c…

GDB远程调试

gdb参数选项详解 gdb主要调试的是C/C的程序。要调试C/C的程序&#xff0c;首先在编译时&#xff0c;必须要把调试信息加到可执行文件中。使用编译器(cc/gcc/g)的 -g 参数即可。 gcc -g main.c -o main 要用gdb调试程序&#xff0c;必须在编译时加上-g和-ggdb选项&#xff0c…

微服务和资源管理有什么区别?

微服务和资源管理在多个方面存在显著的区别。 微服务是一种软件架构风格&#xff0c;专注于构建小型、独立的服务单元&#xff0c;每个服务单元都运行在自己的进程中&#xff0c;并通过轻量级通信机制进行通信。这些服务单元通常是围绕单一业务功能或职责构建的&#xff0c;并且…

c语言从入门到函数速成(完结篇)

哈喽&#xff0c;小伙伴们大家好呀&#xff0c;本篇文章是这个系列的完结篇&#xff0c;希望大家看完后能有所收获哦 首先能看到这里的同学&#xff0c;一定也是自觉性比较强的了&#xff0c;我会在文章末尾给大家发点小福利 那么&#xff0c;我们先来通过数学中的函数来引入一…

基于python的k-means聚类分析算法,对文本、数据等进行聚类,有轮廓系数和手肘法检验

K-means算法是一种常见的聚类算法&#xff0c;用于将数据点分成不同的组&#xff08;簇&#xff09;&#xff0c;使同一组内的数据点彼此相似&#xff0c;不同组之间的数据点相对较远。以下是K-means算法的基本工作原理和步骤&#xff1a; 工作原理&#xff1a; 初始化&#x…

Elasticsearch之入门与安装

Elaticsearch&#xff0c;简称为es&#xff0c; es是一个开源的高扩展的分布式全文检索引擎&#xff0c;它可以近乎实时的存储、检索数据&#xff1b;本身扩展性很好&#xff0c;可以扩展到上百台服务器&#xff0c;处理PB级别的数据。es也使用Java开发并使用Lucene作为其核心来…

车联网V2X通信技术简介

车联网V2X通信技术是一种将车辆与一切事物相连接的新一代信息通信技术。以下是对车联网V2X通信技术的详细解析&#xff1a; 一、V2X的定义与交互模式 定义&#xff1a;V2X&#xff08;Vehicle to Everything&#xff09;是指车用无线通信技术&#xff0c;其中V代表车辆&#…

探索python循环逻辑的魅力:从无限到有限

新书上架~&#x1f447;全国包邮奥~ python实用小工具开发教程http://pythontoolsteach.com/3 欢迎关注我&#x1f446;&#xff0c;收藏下次不迷路┗|&#xff40;O′|┛ 嗷~~ 目录 一、引言&#xff1a;循环逻辑的初步认识 二、无限循环&#xff1a;持续运转的引擎 三、有…

通过 PW6606 快充电压诱骗芯片,了解 USB-A 与 USB-C 快充协议

充电器一般分两种&#xff1a; 1&#xff0c; A 口充电器&#xff0c;就是我们常见的 USB 口&#xff0c;如下图&#xff0c;这种通用快充协议叫&#xff1a; QC3.0,QC2.0 快充&#xff0c;是属于快充刚开始的充电协议&#xff0c;支持 5V,9V,12V 和 20V 电压输出充电器&#x…

【文末附gpt升级方案】GPT-4级别的AI系统安全性探讨与未来展望

GPT-4级别的AI系统安全性探讨与未来展望 一、引言 随着人工智能技术的飞速发展&#xff0c;尤其是自然语言处理&#xff08;NLP&#xff09;领域的突破&#xff0c;大型语言模型如GPT-4已经成为人们关注的焦点。然而&#xff0c;技术的进步往往伴随着争议和质疑。近日&#x…

自学动态规划——组合求数

组合求和 377. 组合总和 Ⅳ - 力扣&#xff08;LeetCode&#xff09; 如果求组合数就是外层for循环遍历物品&#xff0c;内层for遍历背包。 如果求排列数就是外层for遍历背包&#xff0c;内层for循环遍历物品。 AC&#xff1a; //这里同样是&#xff0c;求方法个数&#x…

【文末附gpt升级方案】UC伯克利的CV三巨头推出的纯视觉大模型在下游任务中的表现分析

UC伯克利的CV三巨头推出的纯视觉大模型在下游任务中的表现分析 UC伯克利的CV三巨头推出的纯视觉大模型&#xff0c;在无需自然语言参与的情况下&#xff0c;通过超过420B token的数据集训练&#xff0c;展现了强大的视觉理解和推理能力。在多个下游任务中&#xff0c;该模型均…

国内信创数据库生态

国内信创数据库生态 国内信创数据库主要包括但不限于以下几种&#xff1a; 数据库类型与厂商&#xff1a; 达梦 &#xff08;武汉达梦&#xff09; 官网 https://www.dameng.com/DM8.html 人大金仓 &#xff08;北京&#xff09; 官网 https://www.kingbase.com.cn/tyxsjk/i…

Open3D(C++) OTSU点云二值化

目录 一、算法原理二、代码实现三、结果展示1、原始点云2、二值化本文由CSDN点云侠原创,原文链接。如果你不是在点云侠的博客中看到该文章,那么此处便是不要脸的爬虫与GPT。 一、算法原理 最大类间方差法(Between-class scatter method)是一种用于分割的方法,它通过计算图…

Moto和Inter字节序

inter: 低地址按照start_bit位放低字节依次往高字节填充 MotoLsb: 低地址按照start_bit位放高字节&#xff0c;依次往低字节填充MotoMsb&#xff1a;高字节按照start_bit位放低地址&#xff0c;依次往高字节填充

【linux】服务器sshd服务导致CPU负载过高问题

一、背景 一台服务器突然访问ssh特别缓慢&#xff0c;top命令查看后&#xff0c;服务器Load Average占用很高。看相关异常进程都是sshd服务导致。 二、排查思路 查看服务器内存&#xff0c;磁盘io都是正常&#xff0c;在用连接数也不多。 一开始就怀疑是不是服务器被恶意攻…

grpc、多集群、多租户

gRPC和服务发现 一个A high-performance, open-source universal RPC framework&#xff0c;高性能、开源的通用 RPC 框架。使用protobuf 语言基于文件定义服务&#xff0c;通过 proto3 工具生成指定语言的数据结构、服务端接口以及客户端 Stub。移动端上面则是基于标准的 HTTP…

snmp学习小结

背景 很多厂商网络设备获取网络信息接口不一样&#xff0c;snmp用来统一接口 官网Net-SNMP 模型 每个主机可以安装自己的snmp agent&#xff0c;它可以监控目标机器的网络流量&#xff0c;当外部查询snmp信息时&#xff0c;请求会发到目标机器的snmp agent&#xff0c;由sn…

谷歌地图 | Google I/O ‘24 重磅发布助力企业拓展海外市场的新功能!

编者按&#xff1a;本文是 Google I/O 2024 系列的一部分&#xff0c;该系列分享了Google 年度开发者大会上最新的 Google Maps Platform 新闻。 距全球首个 Google Maps API 问世已近 20 年。它引领了网络和移动端地理空间体验的革命。从那时起&#xff0c;Google Maps Platf…