次のコードがあります
@org.junit.Test
public void test1() throws IOException {
ObjectMapper objectMapper = new ObjectMapper();
objectMapper.enableDefaultTyping(ObjectMapper.DefaultTyping.NON_FINAL, JsonTypeInfo.As.PROPERTY);
Map<UUID, String> map = new HashMap<UUID, String>();
map.put(new UUID(1,2), "value1");
Set<Map<UUID, String>> set = new LinkedHashSet<Map<UUID,String>>();
set.add(map);
System.out.println(objectMapper.writeValueAsString(set));
}
出力の生成
["java.util.LinkedHashSet",[{"@class":"java.util.HashMap","00000000-0000-0001-0000-000000000002":"value1"}]]
私は、Jackson に UUID の完全修飾 Java クラスと Map 内にある String オブジェクトを出力させようとしています。