Gson 解析工具封装

xiaoxiao2021-02-28  114

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()); } } }
转载请注明原文地址: https://www.6miu.com/read-32690.html

最新回复(0)