我有以下编程要求:

问题:
给定两个JSON A和B,如果JSON A中的字段x,y,z与B中的字段i,o,p匹配,则返回true,否则返回false。

方法:
我想避免构建依赖于json格式的匹配引擎。我不想使用pojos格式化json,然后进行对象匹配。我的方法是将所有json转换为哈希图,然后使用字符串指定字段的位置:

例:
金钱-> a,b,c

{
  a :
   {
      b : {
         c: {
           money : "100"
         }
       }
    }
}


但是,此方法似乎有些棘手,因为我们必须考虑集合。我必须涵盖所有边缘情况。我可以使用任何Spring库或Java工具来实现此目的吗?

最佳答案

有许多用于此目的的库。最受欢迎的库是com.google.gson
用法:

JsonObject jo = (JsonObject)(jsonParser.parse("{somejsonstring}");<br>
jo.has("objectProperty") //Check if property exists
jo.get("objectProperty") // returns JsonElement,
jo.get("objectProperty").isJsonArray() // check if the property is the type that want
jo.getAsJsonArray("objectProperty") get the property

10-06 00:22