public void testExplicitIgnoralWithBean() throws Exception { IgnoreSome value = new IgnoreSome(); Map<String, Object> result = writeAndMap(MAPPER, value); assertEquals(2, result.size()); // verify that specified fields are ignored assertFalse(result.containsKey("b")); assertFalse(result.containsKey("c")); // and that others are not assertEquals(Integer.valueOf(value.a), result.get("a")); assertEquals(value.getD(), result.get("d")); }
// Check if a value exists before getting it // AG static Object getFromMap(Object map, String key) { if (map instanceof Map<?, ?>) { Map<?, ?> castMap = (Map<?, ?>) map; if (castMap.containsKey(key)) { return castMap.get(key); } else { return null; } } else { return null; } }
public void testExplicitIgnoralWithMap() throws Exception { // test simulating need to filter out metadata like class name MyMap value = new MyMap(); value.put("a", "b"); value.put("@class", MyMap.class.getName()); Map<String, Object> result = writeAndMap(MAPPER, value); assertEquals(1, result.size()); // verify that specified field is ignored assertFalse(result.containsKey("@class")); // and that others are not assertEquals(value.get("a"), result.get("a")); }
protected Map<?, ?> _orderEntries(Map<?, ?> input, JsonGenerator gen, SerializerProvider provider) throws IOException { // minor optimization: may already be sorted? if (input instanceof SortedMap<?, ?>) { return input; } // [databind#1411]: TreeMap does not like null key... if (input.containsKey(null)) { TreeMap<Object, Object> result = new TreeMap<Object, Object>(); for (Map.Entry<?, ?> entry : input.entrySet()) { Object key = entry.getKey(); if (key == null) { _writeNullKeyedEntry(gen, provider, entry.getValue()); continue; } result.put(key, entry.getValue()); } return result; } return new TreeMap<Object, Object>(input); }