我有以下编程要求:
问题:
给定两个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