#json #jackson #objectmapper
#json #джексон #objectmapper
Вопрос:
Мне нужно создать json как с pretty print, так и с использованием JsonView. Как сделать то же самое из jackson objectmapper? При попытке использовать оба свойства я получаю следующую ошибку.
Ошибка: метод writerWithDefaultPrettyPrinter() не определен для типа ObjectWriter .
Мой код:
objectMapper.writerWithView(View.ConfigJson.class).writerWithDefaultPrettyPrinter().writeValue(file, value);
Ответ №1:
Самый простой способ — включить SerializationFeature.INDENT_OUTPUT на ObjectMapper
:
mapper.enable(SerializationFeature.INDENT_OUTPUT);
Или использовать withDefaultPrettyPrinter
метод:
mapper
.writerWithView(View.ConfigJson.class)
.withDefaultPrettyPrinter()
.writeValue(System.out, map);
Вы должны заметить, что writer*
методы объявляются в ObjectMapper
экземпляре и возвращают ObjectWriter
экземпляр. После этого вы можете использовать with*
методы, которые объявлены в ObjectWriter
.