/**
* @author BNTang
*/
public class JsonUtil {
/**
* 把JSON数据转换成指定的java对象
*
* @param jsonData JSON数据
* @param clazz 指定的java对象
* @return java对象
*/
public static <T> T getJsonToBean(String jsonData, Class<T> clazz) {
try {
return JSON.parseObject(jsonData, clazz);
} catch (Exception e) {
log.error("把JSON数据转换成指定的java对象json解析出错=={}:", jsonData, e);
return null;
}
}
/**
* 把java对象转换成JSON数据
*
* @param object java对象
* @return json字符串
*/
public static String getBeanToJson(Object object) {
try {
return JSON.toJSONString(object);
} catch (Exception e) {
log.error("把java对象转换成JSON数据json解析出错:{}", object, e);
return null;
}
}
/**
* 把JSON数据转换成指定的java对象列表
*
* @param jsonData JSON数据
* @param clazz 指定的java对象
* @return 对象集合
*/
public static <T> List<T> getJsonToList(String jsonData, Class<T> clazz) {
try {
return JSON.parseArray(jsonData, clazz);
} catch (Exception e) {
log.error("把JSON数据转换成指定的java对象列表json解析出错:{}", jsonData, e);
return null;
}
}
/**
* 把JSON数据转换成普通map列表
*
* @param jsonData JSON数据
* @return map Map<K, V>
*/
public static <K, V> Map<K, V> getStringToMap(String jsonData) {
try {
return (Map<K, V>) JSONObject.parseObject(jsonData);
} catch (Exception e) {
log.error("把JSON数据转换成普通map列表json解析出错:{}", jsonData, e);
return null;
}
}
/**
* 把JSON数据转换成较为复杂的结构
*
* @param jsonData JSON数据
* @return 复杂结构
*/
public static <T> T getJsonToListMap(String jsonData, TypeReference<T> type) {
try {
return JSON.parseObject(jsonData, type);
} catch (Exception e) {
log.error("把JSON数据转换成较为复杂的结构json解析出错:{}", jsonData, e);
return null;
}
}
}