JsonUtils
发布时间:2020-12-16 18:44:09 所属栏目:百科 来源:网络整理
导读:import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.DeserializationFeature; import com.fasterxml.jackson.databind.JavaType; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterx
import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.DeserializationFeature; import com.fasterxml.jackson.databind.JavaType; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.PropertyNamingStrategy; import java.util.List; public class JsonUtils { // 定义jackson对象 private static final ObjectMapper MAPPER = new ObjectMapper(); /** * 将对象转换成json字符串。 * <p>Title: pojoToJson</p> * <p>Description: </p> * @param data * @return */ public static String objectToJson(Object data) { try { String string = MAPPER.writeValueAsString(data); return string; } catch (JsonProcessingException e) { e.printStackTrace(); } return null; } /** * 将json结果集转化为对象 * * @param jsonData json数据 * @param clazz 对象中的object类型 * @return */ public static <T> T jsonToPojo(String jsonData,Class<T> beanType) { ObjectMapper mapper = new ObjectMapper(); mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES,false); mapper.setPropertyNamingStrategy(PropertyNamingStrategy.CAMEL_CASE_TO_LOWER_CASE_WITH_UNDERSCORES); try { T t = mapper.readValue(jsonData,beanType); return t; } catch (Exception e) { e.printStackTrace(); } return null; } /** * 将json数据转换成pojo对象list * <p>Title: jsonToList</p> * <p>Description: </p> * @param jsonData * @param beanType * @return */ public static <T>List<T> jsonToList(String jsonData,Class<T> beanType) { JavaType javaType = MAPPER.getTypeFactory().constructParametricType(List.class,beanType); try { List<T> list = MAPPER.readValue(jsonData,javaType); return list; } catch (Exception e) { e.printStackTrace(); } return null; } /** * 获取泛型的Collection Type * @description 获取泛型的Collection Type ,如List<User> * @param collectionClass ArrayList.class * @param elementClasses User.class * @return * @author 刘育 * @version 1.0 * @date:2016年12月20日下午3:43:27 */ public static JavaType getCollectionType(Class<?> collectionClass,Class<?>... elementClasses) { ObjectMapper mapper = new ObjectMapper(); return mapper.getTypeFactory().constructParametricType(collectionClass,elementClasses); } public static <T> T jsonToObject(String content,Class<T> t){ try { ObjectMapper om=new ObjectMapper(); return om.readValue(content,t); } catch (Exception e) { return null; } } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |