Как получить объект записи с симпатичной печатью и с представлением json из objectmapper? - PullRequest
1 голос
/ 12 апреля 2019

Мне нужно создать JSON как с красивой печатью, так и с использованием JsonView. Как сделать то же самое с Джексоном объектмаппером? Я получаю следующую ошибку, когда пытаюсь использовать оба свойства.

Ошибка: метод writerWithDefaultPrettyPrinter () не определен для Тип ObjectWriter.

Мой код:

objectMapper.writerWithView(View.ConfigJson.class).writerWithDefaultPrettyPrinter().writeValue(file, value);

1 Ответ

1 голос
/ 12 апреля 2019

Самый простой способ - включить 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.

...