两个实体类比对,返回修改后的字段名以及字段值
1.引入依赖
<dependency>
<groupId>org.skyscreamer</groupId>
<artifactId>jsonassert</artifactId>
<version>1.5.0</version>
</dependency>
2.实现方式
ContractInformationsDTO dto=new ContractInformationsDTO();
ContractInformationsDTO dto1=new ContractInformationsDTO();
dto.setServicePeriod(1);
dto1.setServicePeriod(2);
dto.setId("12");
dto1.setId("12");
try {
CustomComparator customComparator = new CustomComparator(JSONCompareMode.STRICT);
System.out.println("user1:"+JSONObject.toJSONString(dto));
System.out.println("user2:"+JSONObject.toJSONString(dto1));
ObjectMapper mapper = new ObjectMapper();
JSONCompareResult result = JSONCompare.compareJSON(mapper.writeValueAsString(dto),mapper.writeValueAsString(dto1), customComparator);
result.getFieldFailures().forEach(fieldComparisonFailure -> {
System.out.println(String.format("变更字段:%s,变更前值:%s,变更后值:%s",fieldComparisonFailure.getField(),fieldComparisonFailure.getExpected(),fieldComparisonFailure.getActual()));
});
}catch (Exception e) {
e.printStackTrace();
}
3.其他相关内容
Java对象比较:
Java判断两个json字符串是否相等(忽略元素顺序)
JSONAssert
以上内容仅仅是本人开发过程中整理所得,仅供交流,如有任何侵权行为,请联系删除!