zoukankan      html  css  js  c++  java
  • 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;
        }
  • 相关阅读:
    rapidjson 使用
    【设计模式】模板方法模式
    【设计模式】策略模式
    【设计模式】建造者模式
    【设计模式】享元模式
    /dev/sda1 contains a file system with errors,check forced.
    如何编写高效的Python的代码
    VsCode 调试 Python 代码
    Python 使用 pyinstaller 打包 代码
    初次使用git上传代码到github远程仓库
  • 原文地址:https://www.cnblogs.com/huanghuanghui/p/11263696.html
Copyright © 2011-2022 走看看