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.使用示例:
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上和其他接口是很相近的,简单使用没有任何问题。
版权声明:本文为博主原创文章,未经博主允许不得转载。
时间: 2024-10-06 10:36:40