JSON 형식의 데이터 간 차이를 비교하는 도구로 변경 사항을 시각적으로 표시해 두 데이터 세트 간의 차이를 쉽게 파악할 수 있게 합니다. (2009년에 Jesper Nøhr에 의해 만들어졌다.)
특징
JsonDiff 도구는 커스터마이징이 가능하여 사용자가 비교 프로세스를 조정할 수 있음.
장점
Google Guava (구글 자바 프로그래밍 오픈소스 라이브러리) 라이브러리에서 개발되었습니다. MappDifference는 두 개의 Map 객체를 비교하여 키와 값의 차이를 보고합니다.

3depth 객체 기준으로 결과값기준으로 jsonDiff가 훨씬 가독성이 있었다. JsonDiff글 보러가기
jsonDiff는 커스텀해서
수정 시 ⮕ 변경 전 & 변경 후 값을 모두 출력되게 만듬.
삭제 시 ⮕ 객체 비교 후 달라진 부분(삭제된 값)을 출력하게 함.
추가 시 ⮕ 배열타입변수에 한정됨.
같은 조건으로 mapDifference의 경우
jsonDiff와 유사했으나
배열 내 하나하나의 값은 비교가 불가능 함.
예시코드
Map<String, Object> map1 = new HashMap<>();
map1.put("key", new String[]{"value1", "value2"});
Map original = mapper.convertValue(map1, Map.class);
Map<String, Object> map2 = new HashMap<>();
map2.put("key", new String[]{"value1", "value3"});
Map change = mapper.convertValue(map2, Map.class);
MapDifference<String, Object> difference2 = Maps.difference(original1, change2);
결과값

위의 코드에서 map1과 map2의 'key'의 값 비교 시 배열 통째로 비교하여, 배열 안에 있는 각각의 값을 비교해주지는 않는다.
필요 시 변경 전 & 후 값을 추출해서 직접 비교해야한다고 할 듯 싶다.