@Test void testExcludeNullCollections() { Map<String, Object> map = new HashMap<>(); map.put("a", null); String json = new JsonSerializer().serialize(map); assertEquals("{\"a\":null}", json); json = new JsonSerializer().excludeNulls(true).serialize(map); assertEquals("{}", json); map.put("b", new HashMap<>()); json = new JsonSerializer().excludeNulls(true).serialize(map); assertEquals("{\"b\":{}}", json); json = new JsonSerializer().excludeNulls(true).onValue(value -> { if (value instanceof Map) { if (((Map)value).isEmpty()) { return new EmptyJsonSerializer(); } } return null; }).serialize(map); assertEquals("{}", json); }