zoukankan      html  css  js  c++  java
  • Jackson:工具类 JsonUtils

    环境

    1. jdk 7
    2. 4.3.24.RELEASE

    源码

    package jiangbo.util;
    
    import java.io.IOException;
    
    import com.fasterxml.jackson.core.JsonProcessingException;
    import com.fasterxml.jackson.databind.DeserializationFeature;
    import com.fasterxml.jackson.databind.ObjectMapper;
    
    public final class JsonUtils {
    
        public static final ObjectMapper JSON_MAPPER = new ObjectMapper();
    
        /** 如果有不识别的属性,不会报错,只会忽略。 */
        public static final ObjectMapper IGNORE_JSON_MAPPER;
    
        static {
    
            IGNORE_JSON_MAPPER = new ObjectMapper();
            IGNORE_JSON_MAPPER.disable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES);
        }
    
        /**
         * Constructor<br>
         */
        private JsonUtils() {
        }
    
        /**
         * 将对象转为 json <br>
         * 
         * @param object {@link Object}
         * @return json 字符串
         */
        public static String toJson(Object object) {
    
            try {
    
                return JSON_MAPPER.writeValueAsString(object);
            } catch (JsonProcessingException e) {
    
                throw new RuntimeException("转换Json出错", e);
            }
        }
    
        /**
         * 将字符串 json 转为对象<br>
         * 
         * @param <T>     转换后的类型
         * @param content json 字符串
         * @param type    转换后的类型
         * @return 转换后的结果
         */
        public static <T> T fromJson(String content, Class<T> type) {
    
            return toObject(JSON_MAPPER, content, type);
        }
    
        /**
         * 将字符串 json 转为对象,将忽略未知的字段<br>
         * 
         * @param <T>     转换后的类型
         * @param content json 字符串
         * @param type    转换后的类型
         * @return 转换后的结果
         */
        public static <T> T fromIgnoreJson(String content, Class<T> type) {
    
            return toObject(IGNORE_JSON_MAPPER, content, type);
        }
    
        /**
         * 将字符串 json 转为对象<br>
         * 
         * @param <T>     转换后的类型
         * @param mapper  {@link ObjectMapper}
         * @param content json 字符串
         * @param type    转换后的类型
         * @return 转换后的结果
         */
        private static <T> T toObject(ObjectMapper mapper, String content, Class<T> type) {
    
            try {
    
                return mapper.readValue(content, type);
    
            } catch (IOException e) {
    
                throw new RuntimeException("json转换出错", e);
            }
        }
    }
    
  • 相关阅读:
    函数语法:Js之on和addEventListener的使用与不同
    练习:javascript弹出框及地址选择功能,可拖拽
    jQuery.extend 函数使用
    计算输入时间如“ 2018-12-12” 的 00:00:00距离现在的时间间隔
    JS获取当前时间戳的方法
    常规正则表达式练习
    登录表单验证简单实现
    简单计算器
    MySQL 单表查询
    C++读写文件
  • 原文地址:https://www.cnblogs.com/jiangbo44/p/12851219.html
Copyright © 2011-2022 走看看