Java FastJson 源码分析(一) 之 简单应用
2015-07-24 17:55
645 查看
fastjson是一个性能很好的Java语言实现的JSON解析器和生成器,来自阿里的工程师开发。提供了Java对象快速序列化和发序列化的工具。
主要特点:
•快速FAST(比其它任何基于Java的解析器和生成器更快)
•强大(支持普通JDK类包括任意JavaBean Class、Collection、Map、Date或enum)
•零依赖(没有依赖其它任何类库除了JDK)
具体应用方式:
1.首先在官网上下载fastjson.jar文件,下载方式提供了以下三种:
SVN:http://code.alibabatech.com/svn/fastjson/trunk/
WIKI:http://code.alibabatech.com/wiki/display/FastJSON/Home
Issue Tracking:http://code.alibabatech.com/jira/browse/FASTJSON
2.将fastjson.jar引入classpath下,
3.使用示例:
在进行正常的JavaBean和Json之间简单转换的同时,fastjson还提供了SerializerFeature枚举,来实现一系列的针对不同数据类型的格式化标志,如上使用了SerializerFeature.WriteDateUseDateFormate对日期格式进行格式化,否则JavaBean转换至Json数据时可能会以时间戳的方式显示,无法正常应用。
上面示例提供了一种封装fastjson的方式,可以将任何类型的Java对象转换为jsonString,并进行反向转换,fastJson在使用API上和其他接口是很相近的,简单使用没有任何问题。
主要特点:
•快速FAST(比其它任何基于Java的解析器和生成器更快)
•强大(支持普通JDK类包括任意JavaBean Class、Collection、Map、Date或enum)
•零依赖(没有依赖其它任何类库除了JDK)
具体应用方式:
1.首先在官网上下载fastjson.jar文件,下载方式提供了以下三种:
SVN:http://code.alibabatech.com/svn/fastjson/trunk/
WIKI:http://code.alibabatech.com/wiki/display/FastJSON/Home
Issue Tracking:http://code.alibabatech.com/jira/browse/FASTJSON
2.将fastjson.jar引入classpath下,
3.使用示例:
public class JsonUtil { private static Logger logger = Logger.getLogger(JsonUtil.class); /** * @param t * 待解析对象 * @param v * 目标对象 * @return V */ public static <T, V> V parseToObject(T t, Class<V> v) { try { String json = JSON.toJSONString(t, SerializerFeature.WriteDateUseDateFormat); return JSON.parseObject(json, v); } catch (Exception ex) { logger.error(ex.getMessage(), ex); return null; } } /** * @param t * 待解析对象 * @param v * 目标对象 * @return V */ public static <T, V> V parseObject(T t, Class<V> v) { try { String json = JSON.toJSONString(t, SerializerFeature.WriteDateUseDateFormat); return JSON.parseObject(json, v); } catch (Exception ex) { logger.error(ex.getMessage(), ex); return null; } } /** * @param t * 待转换对象 * @return 转换后的字符串 */ public static <T> String toJsonString(T t) { try { return JSON.toJSONString(t, SerializerFeature.WriteDateUseDateFormat); } catch (Exception ex) { logger.error(ex.getMessage(), ex); return null; } } }
在进行正常的JavaBean和Json之间简单转换的同时,fastjson还提供了SerializerFeature枚举,来实现一系列的针对不同数据类型的格式化标志,如上使用了SerializerFeature.WriteDateUseDateFormate对日期格式进行格式化,否则JavaBean转换至Json数据时可能会以时间戳的方式显示,无法正常应用。
上面示例提供了一种封装fastjson的方式,可以将任何类型的Java对象转换为jsonString,并进行反向转换,fastJson在使用API上和其他接口是很相近的,简单使用没有任何问题。
相关文章推荐
- java对世界各个时区(TimeZone)的通用转换处理方法(转载)
- java-注解annotation
- java-模拟tomcat服务器
- java-用HttpURLConnection发送Http请求.
- java-WEB中的监听器Lisener
- Android IPC进程间通讯机制
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- 从源码安装Mysql/Percona 5.5
- 介绍一款信息管理系统的开源框架---jeecg
- 聚类算法之kmeans算法java版本
- java实现 PageRank算法
- PropertyChangeListener简单理解
- 插入排序
- 冒泡排序
- 堆排序
- 快速排序
- 二叉查找树