Разница в производительности - Jackson ObjctMapper.writeValue (writer, val) против ObjectMapper.writeValueAsString (val) - PullRequest
1 голос
/ 01 апреля 2019

Есть ли существенная разница в производительности между следующими двумя?

String json = mapper.writeValueAsString(searchResult);
response.getWriter().write(json);

против

mapper.writeValue(response.getWriter(), searchResult);

1 Ответ

0 голосов
/ 01 апреля 2019

writeValueAsString JavaDoc говорит:

Метод, который можно использовать для сериализации любого значения Java в виде строки.Функционально эквивалентно вызову writeValue (Writer, Object) с помощью StringWriter и созданию String, но более эффективно.

Так что, если вы хотите записать JSON в String, гораздо лучше использоватьэтот метод, чем writeValue.Оба эти метода используют _configAndWriteValue.

В вашем случае лучше записать JSON непосредственно в response.getWriter(), чем генерировать String объект и после этого записать его в response.getWriter().

...