前言:
json数据可以说现在非常流行了。在web领域,前后端数据传输基本上都是json的形式,因此也诞生了很多简单json格式开发的工具包。json-lib,jackson等一堆堆,但是性能比较好的还是属于阿里的fastjson,正所谓阿里出品,必属精品嘛(不打广告了~~)、下面是我封装的fastjson工具类。仅供大学学习参考。
开发准备:
开发前还是需要导包,可以找资源下载,如果是使用maven的同学可以引用如下依赖即可
<dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.47</version> </dependency>
工具类代码如下:
package com.wen.seckill.utils;
import com.alibaba.fastjson.JSON;
import java.util.List;
/**
* @Description: json工具类 支持各种数据类型转换
* @Author: Gentle
* @date 2018/9/17 9:43
*/
public class JsonUtils {
//默认日期格式(年月日时分秒)
public static final String default_dateFormat = "yyyy-MM-dd HH:mm:ss";
//存在时间格式(年月日)
public static final String dateFormat = "yyyy-MM-dd";
/**
* json字符串转对象
* @param str 字符串
* @param clazz 需要转成想要的对象
* @param <T> 返回相应对象
* @return
*/
public static <T> T jsonToObject(String str,Class<T> clazz) {
return JSON.parseObject(str,clazz);
}
/**
* 对象转json字符串,默认不执行进行日期转换
*
* @param obj 对象
* @return
*/
public static String ObjectTojson(Object obj) {
return ObjectTojson(obj, false);
}
/**
* 对象转json字符串,使用默认日期转换
*
* @param obj 对象
* @param useDateFormat 自定义时间格式
* @return
*/
public static String ObjectTojson(Object obj, boolean useDateFormat) {
return ObjectTojson(obj, useDateFormat, default_dateFormat);
}
/**
* 自定义日期格式
* @param obj
* @param dateFormat
* @return
*/
public static String ObjectTojson(Object obj, String dateFormat) {
return ObjectTojson(obj, true, dateFormat);
}
/**
* 对象转字符串,总处理方法,不对外开放
* @param obj javabean对象
* @param useDateFormat
* @param dateFormat
* @return
*/
private static String ObjectTojson(Object obj, boolean useDateFormat, String dateFormat) {
if (useDateFormat) {
return JSON.toJSONStringWithDateFormat(obj, dateFormat);
}
return JSON.toJSONString(obj);
}
/**
* json格式解析为List集合,不解决格式时间问题
* @param str json字符串
* @param clazz 要转换的对象
* @param <T>
* @return
*/
public static <T> List<T> jsonTolist(String str, Class<T> clazz) {
return JSON.parseArray(str,clazz);
}
}
总结:
没什么难的点,我是看着源码来进行封装的,不是照网上demo来进行学习。可能有错误的地方欢迎大家批评指正。祝大家工作顺利,学习进步。
程序人生,与君共勉~!