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

执行结果

相关推荐
lclcooky6 分钟前
SpringCloud系列教程:微服务的未来 (五)枚举处理器、JSON处理器、分页插件实现
spring cloud·微服务·json
莫爷15 小时前
JSON 性能优化实战:大数据量 JSON 的处理技巧
性能优化·json·apache
吴声子夜歌19 小时前
JavaScript——JSON序列化和反序列化
开发语言·javascript·json
范桂飓1 天前
openclaw.json 配置文件解析
人工智能·json
C++ 老炮儿的技术栈1 天前
c++常见配置文件格式 JSON、INI、XML、YAML 它们如何解析
xml·开发语言·c++·windows·qt·json
莫爷2 天前
JSON 进阶技巧:Schema 验证、JSONPath 查询、性能优化
性能优化·json
莫爷2 天前
JSON vs XML vs YAML 深度对比:如何选择合适的数据格式?
xml·前端·json
ZTLJQ2 天前
序列化的艺术:Python JSON处理完全解析
开发语言·python·json
CSharp精选营3 天前
.NET对象转JSON,到底有几种方式?
c#·json·.net·newtonsoft·对象转换·utf8json
淼_@淼3 天前
python-json
前端·python·json