java - 比较两个 json 结构并得到不匹配的变化

标签 java json spring-boot

您好,我有 json 结构 #1 和 #2,如下所示。我想比较和捕获结果。

JSON #1。

{
    "menu": {
        "id": "file",
        "popup": {
            "menuitem": {
                "menuitem-1": "sometext",
                "menuitem-2": {
                    "menuitem-2.1": "sometext",
                    "menuitem-2.2": "sometext",
                    "menuitem-2.3": {
                        "menuitem-2.3.1": "sometext"
                    }
                }
            }
        },
        "value": "File"
    }
}

JSON #2

{
    "menu": {
        "id": "file",
        "popup": {
            "menuitem": {
                "menuitem-2.3": {
                    "menuitem-2.3.1": "sometext"
                }
                "menuitem-1": "sometext",
                "menuitem-2": {
                    "menuitem-2.1": "sometext",
                    "menuitem-2.2": "sometext"
                },
            }
        },
        "value": "File"
    }
}

我期待以下 JSON 已在 JSON #2 中向上移动。我的目标是识别 JSON#2 上的任何 CREATE NEW/UPDATE/ADJUSTED/DELETE。

"menuitem-2.3": {
   "menuitem-2.3.1": "sometext"
}

有没有Spring/Java现成的框架可以实现以上?

最佳答案

尝试使用 Apache drill。安装简单,支持查询JSON。然后,您可以执行减号查询并获得差额。

您还可以使用 java 查询 drill。 Apache drill 有一个 JDBC 驱动程序。

希望对您有所帮助。 :)

关于java - 比较两个 json 结构并得到不匹配的变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52060505/

相关文章:

java - libgdx教程: cannot open desktop application

java - 如何从spring boot jpa的两个表中获取数据

java - 我的表在使用修改和查询注释时没有映射?

java - 通过 @OneToMany 和 @ManyToOne 使用 JPA hibernate 获得无限递归

java - 我怎样才能归还我的卡片阵列?

java - Java 中的 Longs 是否过于苛刻?为什么这样?

java - 字符串格式加倍到 00,00 - Java

javascript - jQuery.ajax() 解析器错误

java - 启用对象映射器 writeValueAsString 方法以包含空值

javascript - jquery 解析 json 时出现问题