
ars.util.Jsons Maven / Gradle / Ivy
The newest version!
package ars.util;
import java.util.Date;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Collection;
import java.io.IOException;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.lang.reflect.Field;
import java.lang.reflect.Modifier;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.google.gson.TypeAdapter;
import com.google.gson.TypeAdapterFactory;
import com.google.gson.stream.JsonReader;
import com.google.gson.stream.JsonWriter;
import com.google.gson.reflect.TypeToken;
/**
* 基于google gson的json处理工具类
*
* @author wuyongqiang
*/
public final class Jsons {
private static Gson defaultGson;
private static ObjectAdapter[] objectAdapters;
private static final String dateFormatPattern = "yyyy-MM-dd HH:mm:ss.SSS";
private Jsons() {
}
public static ObjectAdapter[] getObjectAdapters() {
if (objectAdapters == null) {
synchronized (Jsons.class) {
if (objectAdapters == null) {
objectAdapters = new ObjectAdapter[0];
}
}
}
return objectAdapters;
}
public static void setObjectAdapters(ObjectAdapter... objectAdapters) {
if (objectAdapters == null) {
throw new IllegalArgumentException("ObjectAdapters must not be null");
}
if (Jsons.objectAdapters != null) {
throw new IllegalStateException("ObjectAdapters already initialized");
}
synchronized (Jsons.class) {
if (Jsons.objectAdapters == null) {
Jsons.objectAdapters = objectAdapters;
}
}
}
/**
* Gson通用类型适配器
*
* @author wuyongqiang
*/
private static class CommonTypeAdapter extends TypeAdapter
© 2015 - 2025 Weber Informatics LLC | Privacy Policy