Json差异比较

json差异比较

如何比较两个json的差异

代码实现

  1. 导入依赖
xml 复制代码
 <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. 用例实现
java 复制代码
 @Test
    public 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);
        }
    }

执行结果

相关推荐
数据狐(Datafox)2 小时前
1688商品列表API接口解析(附 JSON 样例)
java·开发语言·数据库·爬虫·json
j7~1 天前
【Linux网络加餐】(篇六)网络版计算器(上):模板方法模式、序列化与 JSON
linux·c++·json·序列化·反序列化·网络版计算机
梦帮科技1 天前
Next.js 16 模块化单体实战:App Router、领域模块与 Route Handler 分层
css·数据结构·链表·正则表达式·node.js·json·html5
蓝悦无人机2 天前
LangChain v1.0 系列教程——第2章 工具系统
langchain·json·装饰器模式·pydantic
Lyra_Infra2 天前
从一段错误 JSON 说起:Policy、Role 与 IAM
后端·json·aigc
羑悻的小杀马特2 天前
数据织网者:Jsoncpp库深度解析——从C++原生JSON处理到工程级数据交互实战全攻略
c++·json·交互·jsoncpp·原生库
代码什么用2 天前
JSON一文速通
java·json
小小测试开发3 天前
LLM 结构化输出测试:Schema 契约 + 故障注入,让工具调用的 JSON 不再靠重试赌运气
人工智能·json
hasty3 天前
_proto__ 不是普通键:从 JSON 反序列化看原型污染
安全·json
代码中介商3 天前
JSON 完全指南:从语法到项目实战
json