我有以下编程要求:
问题: 给定两个 JSON A 和 B,如果 JSON A 中的字段 x、y、z 与 B 中的字段 i、o、p 匹配,则返回 true,否则返回 false。
方法: 我不想构建依赖于 json 格式的匹配引擎。我不想使用 pojos 格式化 json,然后进行对象匹配。我的方法是将所有的json转换为 HashMap ,然后使用字符串指定字段的位置:
示例: 钱 -> 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
关于java - 如何在不知道格式的情况下映射 json 对象的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61180335/