我有一个 Java 代码来查找两个 JSON 字符串之间的差异。如下图:
String afterString = converterUtil.convertObjectToJson(targetObject);
Gson g = new Gson();
Type mapType = new TypeToken<Map<String, Object>>() {
}.getType();
Map<String, Object> firstMap = g.fromJson(beforeString, mapType);
Map<String, Object> secondMap = g.fromJson(afterString, mapType);
System.out.println(Maps.difference(firstMap, secondMap));
如何将差异结果保存为
Maps.difference
返回的地图?
从 Guava 的
Maps
文档,Maps#difference
返回一个 MapDifference
。要将其转换为 Map
,您可以使用 MapDifference#entriesDiffering
。还有其他可能对您有用的方法,例如 MapDifference#entriesInCommon
、MapDifference#entriesOnlyOnLeft
和 MapDifference#entriesOnlyOnRight
。