可以使用杰克逊吗?

时间:2014-07-17 07:55:43

标签: java json mongodb jackson

最近我想找到一个POJO到JSON映射器并最终使用Jackson,因为它在大多数地方都是推荐的,但是当我刚做了一个小测试时我发现要序列化java对象,它甚至有2个属性需要平均时间 450ms

但如果我手动进行映射只需要 10ms ,则下面是我计算时间的简单代码。

public static void main(String[] args) throws Exception{    
    long time = new Date().getTime();
    User user = new User();
    user.set_id("100");
    user.setName("testuser");

    ObjectMapper mapper = new ObjectMapper();
    StringWriter write = new StringWriter();
    mapper.writeValue(write, user);

    long endtime = new Date().getTime();
    System.out.println("Spent Time : "+(endtime-time));
}

所以我的问题是我还应该使用Jackon吗?是我还没有理解的任何其他好处。我正在工作的笔记项目是spring和mongodb,我们的任务是开发REST服务,我们不希望特定的请求挂起不必要的时间。

1 个答案:

答案 0 :(得分:2)

This benchmark result表明杰克逊在创建实例时非常缓慢。 要有效地使用Jackson库,您必须重复使用ObjectMapper的单个实例。

如果每次使用时都实例化一类JSON库,我建议使用Gson作为基准测试结果显示。