jackson工具类json转list、json转map、json转bean、bean转json
2017-09-06 22:28
417 查看
import java.io.IOException; import java.util.List; import java.util.Map; import com.fasterxml.jackson.core.JsonParseException; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.DeserializationFeature; import com.fasterxml.jackson.databind.JavaType; import com.fasterxml.jackson.databind.JsonMappingException; import com.fasterxml.jackson.databind.ObjectMapper; /** * Json工具类,基于Jackson实现 * * @author Val Song * @date Sep 4, 2017 * */ public class JacksonUtils { /** * 将对象转化成json * * @param t * @return * @throws JsonProcessingException */ public static <T> String toJson(T t) throws JsonProcessingException { return OBJECT_MAPPER.get().writeValueAsString(t); } /** * 将json转化成bean * * @param json * @param valueType * @return * @throws JsonParseException * @throws JsonMappingException * @throws IOException */ public static <T> T toEntity(String json, Class<T> valueType) throws JsonParseException, JsonMappingException, IOException { return OBJECT_MAPPER.get().readValue(json, valueType); } /** * 将json转化成List * * @param json * @param collectionClass * @param elementClass * @return * @throws JsonParseException * @throws JsonMappingException * @throws IOException */ public static <T> List<T> toList(String json, Class<? extends List> collectionClass, Class<T> elementClass) throws JsonParseException, JsonMappingException, IOException { JavaType javaType = OBJECT_MAPPER.get().getTypeFactory().constructCollectionType(collectionClass, elementClass); return OBJECT_MAPPER.get().readValue(json, javaType); } /** * 将json转化成Map * * @param json * @param mapClass * @param keyClass * @param valueClass * @return * @throws JsonParseException * @throws JsonMappingException * @throws IOException */ public static <K, V> Map<K, V> toMap(String json, Class<? extends Map> mapClass, Class<K> keyClass, Class<V> valueClass) throws JsonParseException, JsonMappingException, IOException { JavaType javaType = OBJECT_MAPPER.get().getTypeFactory().constructMapType(mapClass, keyClass, valueClass); return OBJECT_MAPPER.get().readValue(json, javaType); } // ################################################################################################################ /** * 禁止调用无参构造 * * @throws IllegalAccessException */ private JacksonUtils() throws IllegalAccessException { throw new IllegalAccessException("Can't create an instance!"); } /** * 使用ThreadLocal创建对象,防止出现线程安全问题 */ private static final ThreadLocal<ObjectMapper> OBJECT_MAPPER = new ThreadLocal<ObjectMapper>() { @Override protected ObjectMapper initialValue() { ObjectMapper objectMapper = new ObjectMapper(); objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); // 忽略不存在的字段 return objectMapper; } }; }
相关文章推荐
- jackson工具类json转list、json转map、json转bean、bean转json
- Java_jackson_bean/map/list与json相互转换
- JSONArray,JSONObject工具类实现Json,bean,map,list等的转换
- spring4mvc返回json(bean,list,map)
- java中把对象、对象bean、list集合、对象数组、Map和Set以及字符串转换成Json
- list 、map、bean、json互转
- Java中将JSON格式的数据转换成对应的Bean、Map、List数据
- Jackson将json字符串转换成泛型List,Map
- jackson json 转list/map
- Jackson将json字符串转换成泛型List/map
- FastJson的学习之JSON互相转Map集合,List集合,JavaBean
- 解决com.fasterxml.jackson.databind.JsonMappingException: No suitable 以 Jackson 处理复杂类型(List,map)两种方法
- json字符串与Object、List、Map的互转工具类
- 本篇主要演示如何使用Jackson对List, Map和数组与JSON互相转换.
- Java中将JSON格式的数据转换成对应的Bean、Map、List数据
- java中把对象、对象bean、list集合、对象数组、Map和Set以及字符串转换成Json
- Jackson 框架JSON、XML、List、Map直接相互转换
- javaBean List Map json(转)
- 利用Jackson对Object,Map,List,数组,枚举,日期类等转化为json
- json字符串与Object、List、Map的互转工具类