嗨,我有json结构#1和#2,如下所示。我想比较并捕获结果。
杰森#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现有框架?
答案 0 :(得分:0)
使用与org.apache.commons.lang.StringUtils的区别。 比较两个字符串,并返回它们不同的部分。 (更准确地说,从第二个String与第一个String不同的地方返回其余的String。)
例如
difference("i am a machine", "i am a robot") -> "robot".
StringUtils.difference(null, null) = null
StringUtils.difference("", "") = ""
StringUtils.difference("", "abc") = "abc"
StringUtils.difference("abc", "") = ""
StringUtils.difference("abc", "abc") = ""
StringUtils.difference("ab", "abxyz") = "xyz"
StringUtils.difference("abcde", "abxyz") = "xyz"
StringUtils.difference("abcde", "xyz") = "xyz"
参数: str1-第一个String,可以为null str2-第二个字符串,可以为空
答案 1 :(得分:-1)
尝试使用Apache演练。它易于安装,并支持查询JSON。然后,您可以执行减号查询并获得差额。
您还可以使用Java查询钻取。 Apache演练为此提供了JDBC驱动程序。
希望有帮助。 :)