365bet亚洲版登录-bet官网365入口

365bet亚洲版登录拥有超过百间客房,bet官网365入口的文化历经几十年的传承和积淀形成的核心内容获得业界广泛的认可,365bet亚洲版登录是目前信誉最高的娱乐场所,同国内外几百家网上内容供应商建立了合作关系。

boot项目实战之工具篇

对象转json、json转对象是大家付出进程中日常境遇的,提取一套高效、易用的工具类会让开垦进度舒爽不菲,上边提供八个基于jackson包的常用json工具方法。

1、添加maven依赖

<dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId></dependency><dependency> <groupId>org.codehaus.jackson</groupId> <artifactId>jackson-mapper-asl</artifactId> <version>1.9.13</version></dependency>

2、对象转为json

private static final ObjectMapper mapper = new ObjectMapper();/** * 将对象转化为json * @author yangwenkui * @time 2017年3月16日 下午2:55:10 * @param obj 待转化的对象 * @return 当转化发生异常时返回null */public static String toJson(Object obj){ if(obj == null){ return null; } try { return mapper.writeValueAsString; } catch (IOException e) { logger.error(String.format("obj=[%s]", obj.toString; } return null;}

3、json转为对象

/** * 将json转化为对象 * @author yangwenkui * @time 2017年3月16日 下午2:56:26 * @param json json对象 * @param clazz 待转化的对象类型 * @return 当转化发生异常时返回null */public static <T> T fromJson(String json,Class<T> clazz){ if(json == null){ return null; } try { return mapper.readValue(json, clazz); } catch (IOException e) { logger.error(String.format("json=[%s]", json), e); } return null;}

4、json转为会集对象

/** * 将json对象转化为集合类型 * @author yangwenkui * @time 2017年3月16日 下午2:57:15 * @param json json对象 * @param collectionClazz 具体的集合类的class,如:ArrayList.class * @param clazz 集合内存放的对象的class * @return */@SuppressWarnings("rawtypes")public static <T> Collection<T> fromJson(String json,Class<? extends Collection> collectionClazz,Class<T> clazz){ if(json == null){ return null; } try { Collection<T> collection = mapper.readValue(json, getCollectionType(collectionClazz,clazz)); return collection; } catch (IOException e) { logger.error(String.format("json=[%s]", json), e); } return null;}private static JavaType getCollectionType(Class<?> collectionClass, Class<?>... elementClasses) { return mapper.getTypeFactory().constructParametricType(collectionClass, elementClasses); }

小结

  1. 常用的JSON技艺有,json-lib、杰克逊、Gson、法斯特Json,在易用性、质量等方面杰克逊都显示不错,推荐应用杰克逊包;
  2. 将对象目标存入缓存、从缓存内收取字符串转为对象、REST API接口重临结果转为对象等重重风貌下皆有目的和json之间的转移操作,“看见常常出现的再一次代码,提抽取来作为通用方法是三个好的习贯”。

一体化代码请参见github内rest-base项目com.onecoderspace.base.util.杰克逊Helper。

本文由365bet亚洲版登录发布于计算机网络,转载请注明出处:boot项目实战之工具篇

您可能还会对下面的文章感兴趣: