Json之 jackson,gson

Json之 jackson,gson等

(spring web使用了jackson作为默认实现)
常用有三种json解析jackson、fastjson、gson。

jackson

jackson主要使用ObjectMapper对象来进行序列化以及反序列化操作。
使用jackson可以毫无压力的将复杂对象进行完全序列化,也可以将各种类型的对象反序列化。

ObjectMapper mapper = new ObjectMapper();
//直接读取简单JSON
List list = mapper.readValue(result, List.class)
//List转JSON
String json = mapper.writeAsString(Arrays.asList(1, 2, 3))

gson

Gson(又称Google Gson)是Google公司发布的一个开源代码的Java库,主要用途为串行化Java对象为JSON字符串,或反串行化JSON字符串串成Java对象.GSON核心jar包不到1M,非常精简,但提供的功能无疑是非常强大的,如果使用JDK自带的JSON解析API,使用起来相对比较繁琐一点,而且代码量较多。

使用
/ 例如转化一个类型不固定的List, 自定义类型同理
Gson gson = new Gson();
List origin = new ArrayList();
origin.add(12);
origin.add("dfsf");
System.out.println(gson.toJson(origin));
// 结果为: [12,"dfsf"]

// 读取这个JSON数组
Gson gson = new Gson();
List result = gson.fromJson("[12,\"dfsf\"]", List.class);
for (Object o : result) {
    System.out.print(o.toString() + " ");
}
// 结果为: 12.0 dfsf 

比较

jackson的性能几乎是gson的10倍,而且随着数据的增长,jackson的耗时也都很平稳,而gson则耗时增长明显,最后直接OOM了,

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值