性能差异-Jackson ObjctMapper.writeValue(writer,val)与ObjectMapper.writeValueAsString(val)

时间:2019-04-01 15:11:13

标签: jackson objectmapper jackson-databind jackson2 fasterxml

以下两个之间是否有明显的性能差异?

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

vs

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

1 个答案:

答案 0 :(得分:0)

writeValueAsString JavaDoc说:

  

可用于将任何Java值序列化为String的方法。   在功能上等同于使用以下命令调用writeValue(Writer,Object)   StringWriter和构造String,但效率更高。

因此,以防万一,您想将JSON写入String比使用writeValue更好。这两种方法都使用_configAndWriteValue

对于您而言,最好直接将JSON写到response.getWriter()而不是生成String对象,然后再将其写到response.getWriter()