Java实体与Json操作类

import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.JavaType;
import com.fasterxml.jackson.databind.ObjectMapper;

import java.util.List;
import java.util.Map;

/**
 * @author hhh
 * @date 2019/7/28 15:52
 * @Despriction
 */
public class JsonUtil {

    // 定义jackson对象
    private static final ObjectMapper MAPPER = new ObjectMapper();

    /**
     * 将对象转换成json字符串。
     */
    public static String objectToJson(Object data) {
        try {
            return MAPPER.writeValueAsstring(data);
        } catch (JsonProcessingException e) {
            e.printstacktrace();
        }
        return null;
    }

    /**
     * 将json结果集转化为对象
     *
     * @param jsonData json数据
     * @param beanType 对象中的object类型
     */
    public static <T> T jsonToPojo(String jsonData,Class<T> beanType) {
        try {
            return MAPPER.readValue(jsonData,beanType);
        } catch (Exception e) {
            e.printstacktrace();
        }
        return null;
    }

    /**
     * 将json数据转换成pojo对象list
     */
    public static <T>List<T> jsonToList(String jsonData,Class<T> beanType) {
        JavaType javaType = MAPPER.getTypeFactory().constructParametricType(List.class,beanType);
        try {
            return MAPPER.readValue(jsonData,javaType);
        } catch (Exception e) {
            e.printstacktrace();
        }

        return null;
    }


    /**
     * 将json数据转换成pojo对象list
     */
    public static Map jsonToMap(Object data) {
        try {
            return MAPPER.convertValue(data,Map.class);
        } catch (Exception e) {
            e.printstacktrace();
        }
        return null;
    }

相关文章

Java中的String是不可变对象 在面向对象及函数编程语言中,不...
String, StringBuffer 和 StringBuilder 可变性 String不可变...
序列化:把对象转换为字节序列的过程称为对象的序列化. 反序...
先说结论,是对象!可以继续往下看 数组是不是对象 什么是对...
为什么浮点数 float 或 double 运算的时候会有精度丢失的风险...
面试题引入 这里引申出一个经典问题,看下面代码 Integer a ...