1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- package api.common.util;
- import com.fasterxml.jackson.core.JsonProcessingException;
- import com.fasterxml.jackson.databind.JavaType;
- import com.fasterxml.jackson.databind.ObjectMapper;
- import com.fasterxml.jackson.databind.type.TypeFactory;
- import java.util.ArrayList;
- import java.util.HashMap;
- import java.util.List;
- import java.util.Map;
- public class JsonUtil {
- /**
- * bean 转成 json
- *
- * @param bean bean 对象
- * @param <T> 声明为泛型方法
- * @return json 字符串
- * @throws JsonProcessingException 异常
- */
- public static <T> String beanToJson(T bean) throws JsonProcessingException {
- return new ObjectMapper().writeValueAsString(bean);
- }
- /**
- * json 转成 bean
- *
- * @param json json 字符串
- * @param tClass 返回值类型
- * @param <T> 声明为泛型方法
- * @return bean 对象
- * @throws JsonProcessingException 异常
- */
- public static <T> T jsonToBean(String json, Class<T> tClass) throws JsonProcessingException {
- return new ObjectMapper().readValue(json, tClass);
- }
- /**
- * bean 转成 json
- *
- * @param list 列表对象
- * @param <T> 声明为泛型方法
- * @return json 字符串
- * @throws JsonProcessingException 异常
- */
- public static <T> String listToJson(T list) throws JsonProcessingException {
- return new ObjectMapper().writeValueAsString(list);
- }
- public static <T> List<T> jsonToList(String json, Class<T> tClass) throws JsonProcessingException {
- JavaType javaType = TypeFactory.defaultInstance().constructParametricType(List.class, tClass);
- if(ObjectUtil.isNull(json)){
- return new ArrayList<>();
- }
- List<T> list = new ObjectMapper().readValue(json,javaType);
- return list;
- }
- public static Map jsonToMap(String json) {
- try {
- return new ObjectMapper().readValue(json, HashMap.class);
- } catch (Exception e) {
- e.printStackTrace();
- }
- return new HashMap();
- }
- }
|