json工具类
import java.util.ArrayList;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.serializer.SerializerFeature;
public class AegisJsonUtils {
@SuppressWarnings({ "unchecked", "static-access" })
public static Map<String, Object> jsonToMap(String str) throws Exception {
final JSONObject jsonObj = new JSONObject();
final Map<String, Object> map = (Map<String, Object>) jsonObj.parseObject(str, Map.class);
return map;
}
@SuppressWarnings({ "static-access" })
public static <T> T mapToEntity(Map<String, ?> map, Class<T> clazz) throws Exception {
final String json = mapToJson(map);
final JSONObject jsonObj = new JSONObject();
final T obj = jsonObj.parseObject(json, clazz);
return obj;
}
public static String entityToJson(Object obj) throws Exception {
final String str = JSON.toJSONString(obj);
return str;
}
public static Map<String, Object> entityToMap(Object obj) throws Exception {
final String str = JSON.toJSONString(obj, SerializerFeature.WriteMapNullValue);
return jsonToMap(str);
}
/**
*@name 实体转MAP(保留值为null的数据)
*/
@SuppressWarnings("rawtypes")
public static Map entityToMapNotT(Object obj) throws Exception {
final String str = JSON.toJSONString(obj, SerializerFeature.WriteMapNullValue);
return jsonToMap(str);
}
/**
*@name 实体转Map去掉value是null的数据
*/
@SuppressWarnings("rawtypes")
public static Map entityToMapNotTDelNullValue(Object obj) throws Exception {
final String str = JSON.toJSONString(obj);
return jsonToMap(str);
}
@SuppressWarnings({ "static-access" })
public static <T> T jsonToEntity(String str, Class<T> clazz) throws Exception {
final JSONObject jsonObj = new JSONObject();
final T obj = jsonObj.parseObject(str, clazz);
return obj;
}
/**
* @name Json字符串转为VO对象列表
*/
public static <T> List<T> jsonToEntityList(String str, Class<T> clazz) throws Exception {
final List<T> resList = new ArrayList<T>();
if (!AegisCommonUtils.isNull(str)) {
final JSONArray jsonArray = JSONArray.parseArray(str);
for (int i = 0; i < jsonArray.size(); i++) {
JSONObject jsonObject = jsonArray.getJSONObject(i);
resList.add(jsonObject.toJavaObject(clazz));
}
}
return resList;
}
/**
* @title mapList转换为beanList
*/
public static <T> List<T> listToEntityList(List<Map<String, Object>> list, Class<T> clazz) throws Exception {
final List<T> tList = new ArrayList<T>();
if (!AegisCommonUtils.isNull(list)) {
final Iterator<Map<String, Object>> ite = list.iterator();
while (ite.hasNext()) {
final Map<String, Object> item = ite.next();
tList.add((T) mapToEntity(item, clazz));
}
}
return tList;
}
@SuppressWarnings("unchecked")
public static List<Map<String, Object>> jsonToList(String str) throws Exception {
final List<Map<String, Object>> paramList = new ArrayList<Map<String, Object>>();
if (!AegisCommonUtils.isNull(str)) {
final JSONArray jsonArray = JSONArray.parseArray(str);
JSONObject jsonObject = null;
for (int i = 0; i < jsonArray.size(); i++) {
jsonObject = jsonArray.getJSONObject(i);
paramList.add(jsonObject.toJavaObject(Map.class));
}
}
return paramList;
}
public static LinkedList<String> jsonToListStr(String str) throws Exception {
final LinkedList<String> paramList = new LinkedList<String>();
if (!AegisCommonUtils.isNull(str)) {
final JSONArray jsonArray = JSONArray.parseArray(str);
for (int i = 0; i < jsonArray.size(); i++) {
final String json = jsonArray.getString(i);
paramList.add(json);
}
}
return paramList;
}
/**
* map转JSON对象
*/
public static String mapToJson(Map<String, ?> map) {
return JSON.toJSONString(map, SerializerFeature.WriteNullStringAsEmpty).toString();
}
public static String mapToJsonString(Map<String, String> map) {
return JSON.toJSON(map).toString();
}
/**
* LIST转JSON对象
*/
public static String listToJson(List<?> list) {
return JSON.toJSONStringWithDateFormat(list, "yyyy-MM-dd HH:mm:ss", SerializerFeature.WriteDateUseDateFormat, SerializerFeature.WriteMapNullValue);
}
/**
* @name 实体List转MapList
*/
public static List<Map<String, Object>> entityListToMapList(List<?> list) throws Exception {
final List<Map<String, Object>> resList = new ArrayList<Map<String, Object>>();
for (Object obj : list) {
resList.add(entityToMap(obj));
}
return resList;
}
/**
* @name 实体对象拷贝
*/
public static <T> T entityCopy(Object obj, Class<T> clazz) throws Exception {
return jsonToEntity(entityToJson(obj), clazz);
}
/**
* @name 实体列表拷贝
*/
public static <T> List<T> entityListCopy(List<?> list, Class<T> clazz) throws Exception {
return listToEntityList(entityListToMapList(list), clazz);
}
}