【utils】基于jackson的解析转换JsonUtil
来源:互联网 发布:人工智能社区 编辑:程序博客网 时间:2024/06/05 01:51
jackson version: 2.8.6
/** * @description json工具类,依赖jackson * @author paul * @date 2017年7月10日 上午10:54:43 * @update 2017年7月10日 上午10:54:43 * @version V1.0 */public class JsonUtil { private static ObjectMapper INSTANCE = new ObjectMapper(); private JsonUtil() {} /** * @param obj 准备转换对象 * @return * @description 对象转换成json字符串 * @author paul * @date 2017年7月10日 上午10:54:50 * @update 2017年7月10日 上午10:54:50 * @version V1.0 * @throws JsonProcessingException */ public static String toJsonStr(Object obj) { try { return INSTANCE.writeValueAsString(obj); } catch (JsonGenerationException e) { e.printStackTrace(); } catch (JsonMappingException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } return null; } /** * @param json 准备转换json * @param type 转换类型 * @return * @throws Exception 转换异常 * @description json字符串转换成对象 * @author paul * @date 2017年7月10日 上午11:08:34 * @update 2017年7月10日 上午11:08:34 * @version V1.0 */ @SuppressWarnings("unchecked") public static <T> T parseJson(String json, String type) { try { return (T) parseJson(json, Class.forName(type)); } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (Exception e) { e.printStackTrace(); } return null; } /** * @param json 准备转换json * @param clazz 转换类型 * @return * @description json字符串转换成对象 * @author paul * @date 2017年7月10日 上午11:12:58 * @update 2017年7月10日 上午11:12:58 * @version V1.0 */ public static <T> T parseJson(String json, Class<T> clazz) { try { return (T) INSTANCE.readValue(json, clazz); } catch (JsonParseException e) { e.printStackTrace(); } catch (JsonMappingException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } return null; } /** * @param json 准备转换json * @param clazz 集合元素类型 * @return * @description json字符串转换成对象集合 * @author paul * @date 2017年8月12日 下午1:28:27 * @update 2017年8月12日 下午1:28:27 * @version V1.0 */ @SuppressWarnings("unchecked") public static <T> List<T> parseJsonList(String json, Class<T> clazz) { try { JavaType javaType = getCollectionType(ArrayList.class, clazz); return (List<T>) INSTANCE.readValue(json, javaType); } catch (IOException e) { e.printStackTrace(); } return null; } /** * @param collectionClass 集合类 * @param elementClasses 集合元素类 * @return * @description 获取泛型的ColloectionType * @author paul * @date 2017年8月12日 下午2:17:38 * @update 2017年8月12日 下午2:17:38 * @version V1.0 */ private static JavaType getCollectionType(Class<?> collectionClass, Class<?>... elementClasses) { return INSTANCE.getTypeFactory().constructParametricType(collectionClass, elementClasses); }}
阅读全文
1 0
- 【utils】基于jackson的解析转换JsonUtil
- jackson jsonUtil
- 自己封装Jackson的工具类——JsonUtil
- 基于lucene的案例开发:JsonUtil & XmlUtil
- 基于jackson的json与对象互相转换
- jsonUtil json转换
- json 转换工具jsonutil
- JsonUtil 中的日期转换
- Jackson的Json转换
- Jackson的Json转换
- Jackson的Json转换
- JSON的解析[Jackson]
- java基于反射JSONUtil类
- Json转换工具类JsonUtil
- jsonutil的使用
- jackson解析的一些参数
- Jackson的使用(json解析)
- 基于 TCP 的通讯接口(TCP Utils)
- vsftpd服务安装/启动/连接/退出
- 用faster rcnn 训练其他数据集
- Android Studio 关联源码
- QT之QML控件篇
- 水题 第三站 排列2
- 【utils】基于jackson的解析转换JsonUtil
- C/C++ 引用介绍
- Android面试题记录二
- android 身份证号中间几位用*代替
- ambari安装笔记
- php之创建数组的方法
- opencv学习笔记--sobel算子
- Android面试题记录之怎么退出应用
- 利用Python爬取朋友圈数据,爬到你开始怀疑人生