pom
<!-- fastjson -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.46</version>
</dependency>
JsonUtil
import com.alibaba.fastjson.JSON;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
/**
* json工具类 支持各种数据类型转换
*/
public class JsonUtil {
//默认日期格式(年月日时分秒)
public static final String default_dateFormat = "yyyy-MM-dd HH:mm:ss";
//存在时间格式(年月日)
public static final String dateFormat = "yyyy-MM-dd";
/**
* map转对象
* @param map 字符串
* @param clazz 需要转成想要的对象
* @param <T> 返回相应对象
* @return
*/
public static <T> T mapToObject(Map map, Class<T> clazz) {
String objStr = ObjectTojson(map);
return JSON.parseObject(objStr,clazz);
}
/**
* 对象转map
* @param obj
* @return
*/
public static Map ObjectToMap(Object obj,boolean useDateFormat){
String objStr = ObjectTojson(obj,useDateFormat);
return jsonToObject(objStr,Map.class);
}
/**
* json字符串转对象
* @param str 字符串
* @param clazz 需要转成想要的对象
* @param <T> 返回相应对象
* @return
*/
public static <T> T jsonToObject(String str,Class<T> clazz) {
return JSON.parseObject(str,clazz);
}
/**
* 对象转另一个对象,只能转相同字段
*
* @param obj 对象
* @param clazz 转后后的对象
* @return
*/
public static <T> T ObjectToObj(Object obj, Class<T> clazz) {
return jsonToObject(ObjectTojson(obj, default_dateFormat),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) {
List<T> resultList = JSON.parseArray(str, clazz);
return resultList!=null?resultList: new ArrayList<T>();
}
}