Я использую Jackson v2.8.2 для сериализации JSON в файл.
Я создал собственный сериализатор и применил метод serialize
для настройки вывода JSON по мере необходимости.
Я вызываю сериализатор следующим образом:
// myClass is the object I want to serialize
SimpleModule module = new SimpleModule();
module.addSerializer(MyClass.class, new MySerializer());
ObjectMapper mapper = new ObjectMapper().enable(SerializationFeature.INDENT_OUTPUT);
mapper.registerModule(module);
try
{
mapper.writeValue(new File("json.txt"), myClass);
}
catch (JsonProcessingException e)
{
...
}
Файл JSON создан, и содержимое выглядит хорошо.
Файл отформатирован в соответствии с DefaultPrettyPrinter
, но я хочу использовать свой собственный PrettyPrinter
, который я уже реализовал.
Как я могу это сделать?
Я пробовал следующее:
MyPrettyPrinter myPrettyPrinter = new MyPrettyPrinter();
mapper.writer(myPrettyPrinter);
mapper.writeValue(new File("json.txt"), myClass);
но это не вызывает мой пользовательский принтер.