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);
        }
    }

执行结果

相关推荐
elangyipi1237 小时前
深入理解前端项目中的 package.json 和 package-lock.json
前端·json
雪域迷影11 小时前
Windows11中VS2026使用C++ 现代化json库nlohmann的3种方式
开发语言·c++·json
雪域迷影11 小时前
nlohmann::json库对象和json结构体转换的新方式
c++·json·nlohmann_json库
生产队队长21 小时前
Web:免费的JSON接口
json
Honmaple1 天前
中国四级城市联动数据,包含港澳台,内含json , sql , python 脚本
python·sql·json
慧都小项1 天前
Parasoft Jtest 如何用 JSON 文件驱动Java 测试自动化
java·自动化·json
一位代码1 天前
python | 将字典类型数据保存成 json 文件及读取 json 文件方法
json
专业开发者1 天前
Wi-Fi® 赋能沉浸式扩展现实(XR)体验落地
json·xr
Asus.Blogs1 天前
golang格式化打印json
javascript·golang·json
东方佑1 天前
使用Python实现Word文档与JSON格式双向转换:完整教程与代码解析
python·json·word