public class JsonUtil {
private JsonUtil(){}
/**
*对象转换为JSON字符串
* @param obj 待转换对象
* @return JSON字符串
* @throws Exception
*/
public static String toJson(Object obj)throws Exception{
return toJson(obj,false,null);
}
/**
* 对象转换为JSON字符串
* @param obj 待转换对象
* @param include 序列化属性配置
* @return JSON字符串
* @throws Exception
*/
public static String toJson(Object obj,Include include)throws Exception{
return toJson(obj,false,include);
}
/**
*对象转换为JSON字符串
* @param obj 待转换对象
* @param format 是否格式化输出的JSON字符串
* @param include 序列化属性配置
* @return JSON字符串
* @throws Exception
*/
public static String toJson(Object obj,boolean format,Include include)throws Exception{
ObjectMapper om = new ObjectMapper();
if(format)
om.writerWithDefaultPrettyPrinter();
if(include==null){
include = JsonInclude.Include.NON_NULL;
}
om.setSerializationInclusion(include);
return om.writeValueAsString(obj);
}
/**
* JSON字符串转换为对象
* @param json
* @param clz
* @param <T>
* @return
* @throws Exception
*/
public static<T> T fromJson(String json,Class<T> clz) throws Exception{
ObjectMapper om = new ObjectMapper();
om.configure(JsonParser.Feature.ALLOW_UNQUOTED_FIELD_NAMES, true);
om.configure(JsonParser.Feature.ALLOW_SINGLE_QUOTES, true);
return om.readValue(json, clz);
}
/**
* 从数组型的json字符串解析对象List集合
* @param json json字符串
* @param clz 集合对象类型
* @param <T>
* @return List集合
* @throws Exception
*/
@SuppressWarnings("unchecked")
public static <T> List<T> fromJsonArray(String json, Class<T> clz) throws Exception{
ObjectMapper om = new ObjectMapper();
JavaType type = om.getTypeFactory().constructParametricType(LinkedList.class, clz);
return (List<T>)om.readValue(json,type);
}
}
json工具类,类型转换
最新推荐文章于 2022-08-30 15:35:23 发布