1 package com.fasterxml.jackson.failing; 2 3 import java.util.*; 4 5 import com.fasterxml.jackson.annotation.JsonFormat; 6 import com.fasterxml.jackson.databind.*; 7 8 // for [databind#1419] 9 public class MapEntryFormat1419Test extends BaseMapTest 10 { 11 static class BeanWithMapEntryAsObject { 12 @JsonFormat(shape=JsonFormat.Shape.OBJECT) 13 public Map.Entry<String,String> entry; 14 BeanWithMapEntryAsObject()15 protected BeanWithMapEntryAsObject() { } BeanWithMapEntryAsObject(String key, String value)16 public BeanWithMapEntryAsObject(String key, String value) { 17 Map<String,String> map = new HashMap<>(); 18 map.put(key, value); 19 entry = map.entrySet().iterator().next(); 20 } 21 } 22 23 /* 24 /********************************************************** 25 /* Test methods 26 /********************************************************** 27 */ 28 29 private final ObjectMapper MAPPER = new ObjectMapper(); 30 testWrappedAsObjectRoundtrip()31 public void testWrappedAsObjectRoundtrip() throws Exception 32 { 33 BeanWithMapEntryAsObject input = new BeanWithMapEntryAsObject("foo" ,"bar"); 34 String json = MAPPER.writeValueAsString(input); 35 assertEquals(aposToQuotes("{'entry':{'key':'foo','value':'bar'}}"), json); 36 BeanWithMapEntryAsObject result = MAPPER.readValue(json, BeanWithMapEntryAsObject.class); 37 assertEquals("foo", result.entry.getKey()); 38 assertEquals("bar", result.entry.getValue()); 39 } 40 } 41