Gson 解析工具封装

来源:互联网 发布:网络21健康行是传销吗 编辑:程序博客网 时间:2024/06/05 16:20
public class JSONUtils {    public static String parser2json(Object obj) {        Gson gson = new Gson();        return gson.toJson(obj);    }    public static String parserDateBean2json(Object obj) {        GsonBuilder gsonBuilder = new GsonBuilder();        Gson gson = gsonBuilder                .registerTypeAdapter(java.util.Date.class,                        new DateSerializerUtils())                .setDateFormat(DateFormat.LONG).create();        return gson.toJson(obj);    }    public static <T> List<T> fromJson(String strjson) {        try {            Gson gs = new Gson();            Type listType = new TypeToken<List<T>>() {            }.getType();            List<T> target2 = gs.fromJson(strjson, listType);            return target2;        } catch (Exception e) {            e.printStackTrace();            return null;        }    }    public static <T> T fromJson(String strjson, Class<T> cls) {        try {            Gson gs = new Gson();            T target2 = (T) gs.fromJson(strjson, cls);            return target2;        } catch (Exception e) {            return null;        }    }    public static <T> T fromJson2DateBean(String json, Class<T> cls) {        GsonBuilder gsonBuilder = new GsonBuilder();        Gson gson = gsonBuilder                .registerTypeAdapter(java.util.Date.class,                        new DateDeserializerUtils())                .setDateFormat(DateFormat.LONG).create();        return gson.fromJson(json, cls);    }    private static class DateDeserializerUtils implements            JsonDeserializer<java.util.Date> {        @Override        public java.util.Date deserialize(JsonElement json, Type type,                JsonDeserializationContext context) throws JsonParseException {            return new java.util.Date(json.getAsJsonPrimitive().getAsLong());        }    }    private static class DateSerializerUtils implements            JsonSerializer<java.util.Date> {        @Override        public JsonElement serialize(Date date, Type type,                JsonSerializationContext content) {            return new JsonPrimitive(date.getTime());        }    }}
0 0