| | |
| | | { |
| | | Map<String, Object> expected = JSON.parseObject(String.valueOf(left)); |
| | | Map<String, Object> actual = right == null ? Map.of() : JSON.parseObject(right.toString()); |
| | | for (String field : expected.keySet()) if (!sameValue(expected.get(field), actual.get(field))) return false; |
| | | // 已有额外非空测量也属于内容差异;缺失与空值仍等价。 |
| | | Set<String> fields = new HashSet<>(expected.keySet()); fields.addAll(actual.keySet()); |
| | | for (String field : fields) if (!sameValue(expected.get(field), actual.get(field))) return false; |
| | | } |
| | | else if (!sameValue(left, right)) return false; |
| | | } |