在安卓开发中,用的最多的是与服务器交互的开发,然而主要的是数据处理 接下来给大家分享下Json和gson的混合使用的工具 /** * 将对象转换成json格式 * @param ts * @return */ public static String objectToJson(Object ts) { String jsonStr = null; if (gson != null) { jsonStr = gson.toJson(ts); } return jsonStr; } /** * 将对象转换成json格式(并自定义日期格式) * * @param ts * @return */ public static String objectToJsonDateSerializer(Object ts, final String dateformat) { String jsonStr = null; gson = new GsonBuilder() .registerTypeHierarchyAdapter(Date.class, new JsonSerializer<date>() { @Override public JsonElement serialize(Date src, Type typeOfSrc, JsonSerializationContext context) { SimpleDateFormat format = new SimpleDateFormat( dateformat); return new JsonPrimitive(format.format(src)); } }).setDateFormat(dateformat).create(); if (gson != null) { jsonStr = gson.toJson(ts); } return jsonStr; } </date> /** * 将json格式转换成list对象 * * @param jsonStr * @return */ public static List<?> jsonToList(String jsonStr) { List<?> objList = null; if (gson != null) { java.lang.reflect.Type type = new com.google.gson.reflect.TypeToken<List<?>>() { }.getType(); objList = gson.fromJson(jsonStr, type); } return objList; } /** * 将json格式转换成list对象,并准确指定类型 * * @param jsonStr * @param type * @return */ public static List<?> jsonToList(String jsonStr, java.lang.reflect.Type type) { List<?> objList = null; if (gson != null) { objList = gson.fromJson(jsonStr, type); } return objList; } /** * 将json格式转换成map对象 * * @param jsonStr * @return */ public static Map<?, ?> jsonToMap(String jsonStr) { Map<?, ?> objMap = null; if (gson != null) { java.lang.reflect.Type type = new com.google.gson.reflect.TypeToken<Map<?, ?>>() { }.getType(); objMap = gson.fromJson(jsonStr, type); } return objMap; } /** * 将json转换成bean对象 * * @param jsonStr * @return */ public static Object jsonToBean(String jsonStr, Class<?> cl) { Object obj = null; if (gson != null) { obj = gson.fromJson(jsonStr, cl); } return obj; } /** * 将json转换成bean对象 * * @param jsonStr * @param cl * @return */ @SuppressWarnings("unchecked") public static <t> T jsonToBeanDateSerializer(String jsonStr, Class<t> cl, final String pattern) { Object obj = null; gson = new GsonBuilder() .registerTypeAdapter(Date.class, new JsonDeserializer<date>() { @Override public Date deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context) throws JsonParseException { SimpleDateFormat format = new SimpleDateFormat(pattern); String dateStr = json.getAsString(); try { return format.parse(dateStr); } catch (ParseException e) { e.printStackTrace(); } return null; } }).setDateFormat(pattern).create(); if (gson != null) { obj = gson.fromJson(jsonStr, cl); } return (T) obj; } /** * 根据 * * @param jsonStr * @param key * @return */ public static Object getJsonValue(String jsonStr, String key) { Object rulsObj = null; Map<?, ?> rulsMap = jsonToMap(jsonStr); if (rulsMap != null && rulsMap.size() > 0) { rulsObj = rulsMap.get(key); } return rulsObj; } </date></t></t>