Gson,是谷歌推出的对JSON数据操作的一个jar文件,因为Android开发的火爆,所以Gson也成为了Android开发者必备法宝

本人也需要跟上潮流,对Entity类与JSON数据间的相互转换做了封装

看代码:

/** * Convert Json Data to Entity * @param jsonJSON类型字符串 * @param cls实体类Class对象 * @return实体类对象 */public static <T> T convertToEntity(String json, Class<T> cls) {if (StringUtils.isEmpty(json)) {return null;}return gson.fromJson(json, cls);}

将JSON数据转换成实体类对象,简单的一行代码,简洁,方便

/** * Convert Json Data to Entity List * @param jsonJSON类型数据 * @param cls实体类Class对象 * @return实体类集合 */public static <T> List<T> convertToEntityList(String json, Class<T> cls) {if (StringUtils.isEmpty(json)) {return null;}Reader read = new StringReader(json);JsonReader reader = new JsonReader(read);List<T> list = new ArrayList<T>();try {reader.beginArray();while (reader.hasNext()) {T t = gson.fromJson(reader, cls);if (t != null) {list.add(t);}}reader.endArray();} catch (IOException e) {e.printStackTrace();} finally {freeResource(reader);IOUtils.freeResource(read, null);}return list;}

将JSON数据转换成实体类List集合,也很简单

/** * Convert Object Data to Json * @param objObject对象 * @returnJSON数据 */public static String convertToJson(Object obj) {if (obj == null) {return null;}return gson.toJson(obj);}

将Object对象转换成JSON数据,为什么这里不用泛型类?因为Object既可以是List集合对象,也可以是Entity类对象,使用Object,少写一个封装方法

/** * 释放资源 * @param readerJsonRead对象 */private static void freeResource(JsonReader reader) {try {if (reader != null) {reader.close();}} catch (IOException e) {e.printStackTrace();}}

如果想要用以上方法,灵活处理、运行,可以稍微借鉴下Struts1的思想




更多相关文章

  1. android数据升级方案
  2. Android Webservices 返回多行多列数据(Dataset)
  3. Android 如何导入已有的外部数据库
  4. Android性能优化-数据优化
  5. Android通过http协议数据交互的两种方式
  6. Android在API推荐的方式来实现SQLite数据库的增长、删除、变化、
  7. Android 通过Post方式提交数据
  8. Android 手机运营商及网络类型判断
  9. android将对象写入文件和从文件中读取对象数据

随机推荐

  1. Android(安卓)FOTA 升级流程
  2. Android 横屏竖屏切换
  3. Android 体系结构介绍
  4. EditText属性大全
  5. Android怎么让RadioButton图片居中显示
  6. Android NDK带来什么
  7. 如何导入android中的sample例子到eclipse
  8. android:maxLines和android:ellipsize同
  9. Android开发资源整理
  10. Android 数据存储与读取:SQLite