在最近的工作中,在客户端和服务器通信中,需要采用JSON的方式进行数据传输。简单的参数可以通过手动拼接JSON字符串,但如果请求的参数过多,采用手动拼接JSON字符串,出错率就非常大了。并且工作效率也特别低。

网上有许多开源的JSON框架,比如Gson,Jackson,FastJson等框架。

FastJson是阿里巴巴工程师开发的一个Json处理工具包,包括“序列化”和“反序列化”两部分,Fastjson是一个Java语言编写的高性能功能完善的JSON库。

一个JSON库涉及的最基本功能就是 序列化 和 反序列化 。

Fastjson支持java bean的直接序列化。你可以使用 com.alibaba.fastjson.JSON 这个类进行序列化和反序列化。

Fastjson采用独创的算法,将parse的速度提升到极致,超过所有json库。

各个版本jar包下载地址:https://repo1.maven.org/maven2/com/alibaba/fastjson/

源码下载地址:https://github.com/alibaba/fastjson

主要特点:

  • 快速FAST (比其它任何基于Java的解析器和生成器更快,包括jackson

  • 强大(支持普通JDK类包括任意Java Bean Class、Collection、Map、Date或enum)

  • 零依赖(没有依赖其它任何类库除了JDK)

经常调用的方法有

public static final Object parse(String text); //把JSON文本parse为JSONObject或者JSONArray  

public static final JSONObject parseObject(String text); //把JSON文本parse成JSONObject

public static final  T parseObject(String text, Class clazz); // 把JSON文本parse为JavaBean

public static final JSONArray parseArray(String text); //把JSON文本parse成JSONArray

public static final  List parseArray(String text, Class clazz); //把JSON文本parse成JavaBean集合

public static final String toJSONString(Object object); //将JavaBean序列化为JSON文本

public static final String toJSONString(Object object, boolean prettyFormat); //将JavaBean序列化为带格式的JSON文本

public static final Object toJSON(Object javaObject); //将JavaBean转换为JSONObject或者JSONArray

具体的测试可以参考下面的例子:

http://www.cnblogs.com/zhenmingliu/archive/2011/12/29/2305775.html

http://www.cnblogs.com/Jie-Jack/p/3758046.html

http://www.cnblogs.com/zhaoyueplc/p/3757591.html

fastJson,jackJson,Gson性能比较

http://chenyanxi.blog.51cto.com/4599355/1543445



                            ====================================================================================

  作者:欧阳鹏  欢迎转载,与人分享是进步的源泉!

  转载请保留原文地址:http://blog.csdn.net/ouyang_peng

====================================================================================

 

最新文章

  1. [转]正则表达式相关:C# 抓取网页类(获取网页中所有信息)
  2. javaweb的开发模式
  3. [Java] SSH框架笔记_S2SH整合步骤
  4. MySQL主从复制技术(纯干货)
  5. Hadoop MapReduce开发最佳实践(上篇)
  6. 自适应滤波:奇异值分解SVD
  7. Android之使用JAVA占位符格式数据(很实用)
  8. 规范开发目录 及 webpack多环境打包文件配置
  9. 一、Swagger配置
  10. RSA 格式 - 转载
  11. 基于node.js的博客搭建
  12. JAVA中通过Jedis操作Redis连接与插入简单库
  13. 再整合ssh时,关于Spring IOC注入问题
  14. mysql 自增长
  15. consul之:ACL配置使用
  16. C# serialPort的DataReceived事件无法触发 ,用的霍尼韦尔的扫码枪并且装了相应的USB转串口驱动。
  17. thusc2018真退役记
  18. Alpha阶段产品功能说明
  19. FromBottomToTop团队项目总结
  20. 软工网络15团队作业4——Alpha阶段敏捷冲刺-6

热门文章

  1. Ubuntu使用日志2(在Eclipse中搭建C++交叉编译环境)
  2. hibernate学习系列-----(5)hibernate基本查询下篇:hibernate聚合函数、分组查询及命名查询
  3. foreach 加& 什么意思?
  4. 如何检测一个aspx页面的速度慢的原因
  5. 北大BBS2008年毕业生晒工资
  6. Docker Push 镜像到公共仓库
  7. DevOpsDays 活动咨询网站
  8. Android 网络状态的监控
  9. Godaddy域名 绑定ip 服务器
  10. awk.sed.grep三剑客详解