#jackson #objectmapper #jackson-databind #jackson2 #fasterxml
#джексон #objectmapper #jackson-привязка данных #jackson2 #более быстрый xml
Вопрос:
Есть ли какая-либо существенная разница в производительности между следующими двумя?
String json = mapper.writeValueAsString(searchResult);
response.getWriter().write(json);
против
mapper.writeValue(response.getWriter(), searchResult);
Ответ №1:
writeValueAsString
JavaDoc говорит:
Метод, который может использоваться для сериализации любого значения Java в виде строки. Функционально эквивалентно вызову writeValue(Writer, Object) с помощью StringWriter и построению строки, но более эффективно.
Итак, в случае, если вы хотите записать JSON
в String
, гораздо лучше использовать этот метод, чем writeValue
. Оба эти метода используют _configAndWriteValue
.
В вашем случае лучше писать JSON
непосредственно в response.getWriter()
, чем генерировать String
объект и после этого записывать его в response.getWriter()
.