增加对象类转json的公共方法,特殊处理时间格式转换

This commit is contained in:
zhangwei
2018-05-23 13:15:57 +08:00
parent 3640847909
commit 76648b8e67

View File

@@ -1,11 +1,20 @@
package com.nis.web.service;
import java.lang.reflect.Type;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.google.common.collect.Lists;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.google.gson.JsonElement;
import com.google.gson.JsonPrimitive;
import com.google.gson.JsonSerializationContext;
import com.google.gson.JsonSerializer;
import com.nis.domain.SysRole;
import com.nis.domain.SysUser;
import com.nis.util.Configurations;
@@ -209,8 +218,25 @@ public abstract class BaseService {
}
/**
* 转换成字符串
* @param obj
* @return
*/
public static <T> String gsonToJson(T obj){
Gson gson = new GsonBuilder().disableHtmlEscaping().
excludeFieldsWithoutExposeAnnotation().
registerTypeAdapter(Date.class, new JsonSerializer<Date>() {
@Override
public JsonElement serialize(Date src, Type type,
JsonSerializationContext context) {
String format = "yyyy-MM-dd'T'HH:mm:ss.SSS";
long time= ((Date) src).getTime()-8*60*60*1000;
SimpleDateFormat sdf = new SimpleDateFormat(format);
return new JsonPrimitive(sdf.format(time));
}
}).create();
return gson.toJson(obj);
}
}