При использовании jackson 2.9.8
есть ли способ всегда сериализовать информацию о типе (полное имя класса) для каждого отдельного сериализованного объекта, даже примитивных типов?.
КакНапример, я хочу, чтобы следующий код печатал ["java.util.ArrayList",["java.lang.String","ONE"],["java.lang.String","TWO"]]
вместо ["java.util.ArrayList",["ONE","TWO"]]
.
public static void main(String[] args) throws Exception {
final ObjectMapper mapper = new ObjectMapper();
mapper.disable(SerializationFeature.FAIL_ON_EMPTY_BEANS);
mapper.enable(SerializationFeature.WRITE_ENUMS_USING_TO_STRING);
mapper.configure(MapperFeature.SORT_PROPERTIES_ALPHABETICALLY, true);
mapper.enableDefaultTyping(ObjectMapper.DefaultTyping.NON_FINAL);
List<String> list = new ArrayList<String>();
list.add("ONE");
list.add("TWO");
Writer writer = new StringWriter();
mapper.writerFor(list.getClass()).writeValue(writer, list);
System.out.println(writer.toString());
}
Cheers.