• json-lib date对象转json ,加入自定义日期格式处理


    import net.sf.json.JSONObject;   
    import net.sf.json.JsonConfig;   
    import net.sf.json.processors.JsonValueProcessor;   
     
    public class DateJsonValueProcessor implements JsonValueProcessor {   
        public static final String DEFAULT_DATE_PATTERN = "yyyy-MM-dd HH:mm:ss";   
        private DateFormat dateFormat;   
     
        /**    
         * 构造方法.    
         *    
         * @param datePattern 日期格式    
         */  
        public DateJsonValueProcessor(String datePattern) {   
            try {   
                dateFormat = new SimpleDateFormat(datePattern);   
            } catch (Exception ex) {   
                dateFormat = new SimpleDateFormat(DEFAULT_DATE_PATTERN);   
            }   
        }   
     
        public Object processArrayValue(Object value, JsonConfig jsonConfig) {   
            return process(value);   
        }   
     
        public Object processObjectValue(String key, Object value,   
                JsonConfig jsonConfig) {   
            return process(value);   
        }   
     
        private Object process(Object value) {   
            if (value == null) {   
                value = new Date();   //为null时返回当前日期,也可以返回"",看需要   
            }   
            return dateFormat.format((Date) value);   
        }   
     
        public static String map2JSonStr(Map map) {   
            JsonConfig jsonConfig = new JsonConfig();   
            DateJsonValueProcessor beanProcessor = new DateJsonValueProcessor(   
                    DEFAULT_DATE_PATTERN);   
            jsonConfig.registerJsonValueProcessor(Date.class, beanProcessor);   
     
            JSONObject jsonObject = JSONObject.fromObject(map, jsonConfig);   
     
            return jsonObject.toString();   
        }      
     
        //将对象转换为json string,使用上面定义的的日期格式   
        @SuppressWarnings("unchecked")   
        public static JSONObject obj2JsonObj(Object obj) {   
            JsonConfig jsonConfig = new JsonConfig();   
            DateJsonValueProcessor beanProcessor = new DateJsonValueProcessor(   
                    DEFAULT_DATE_PATTERN);   
            jsonConfig.registerJsonValueProcessor(Date.class, beanProcessor);   
     
            JSONObject jsonObject = JSONObject.fromObject(obj, jsonConfig);   
     
            return jsonObject;   
        }   
    }  
     
    import net.sf.json.JSONObject;
    import net.sf.json.JsonConfig;
    import net.sf.json.processors.JsonValueProcessor;
     
    public class DateJsonValueProcessor implements JsonValueProcessor {
        public static final String DEFAULT_DATE_PATTERN = "yyyy-MM-dd HH:mm:ss";
        private DateFormat dateFormat;
     
        /**  
         * 构造方法.  
         *  
         * @param datePattern 日期格式  
         */
        public DateJsonValueProcessor(String datePattern) {
            try {
                dateFormat = new SimpleDateFormat(datePattern);
            } catch (Exception ex) {
                dateFormat = new SimpleDateFormat(DEFAULT_DATE_PATTERN);
            }
        }
     
        public Object processArrayValue(Object value, JsonConfig jsonConfig) {
            return process(value);
        }
     
        public Object processObjectValue(String key, Object value,
                JsonConfig jsonConfig) {
            return process(value);
        }
     
        private Object process(Object value) {
            if (value == null) {
                value = new Date();   //为null时返回当前日期,也可以返回"",看需要
            }
            return dateFormat.format((Date) value);
        }
     
        public static String map2JSonStr(Map map) {
            JsonConfig jsonConfig = new JsonConfig();
            DateJsonValueProcessor beanProcessor = new DateJsonValueProcessor(
                    DEFAULT_DATE_PATTERN);
            jsonConfig.registerJsonValueProcessor(Date.class, beanProcessor);
     
            JSONObject jsonObject = JSONObject.fromObject(map, jsonConfig);
     
            return jsonObject.toString();
        }    
     
        //将对象转换为json string,使用上面定义的的日期格式
        @SuppressWarnings("unchecked")
        public static JSONObject obj2JsonObj(Object obj) {
            JsonConfig jsonConfig = new JsonConfig();
            DateJsonValueProcessor beanProcessor = new DateJsonValueProcessor(
                    DEFAULT_DATE_PATTERN);
            jsonConfig.registerJsonValueProcessor(Date.class, beanProcessor);
     
            JSONObject jsonObject = JSONObject.fromObject(obj, jsonConfig);
     
            return jsonObject;
        }
    }
  • 相关阅读:
    [数学]如何旋转曲线
    19_04_25校内训练[最小割]
    第二类斯特林数总结
    19_04_19校内训练[Game]
    kd-tree题目总结
    [HNOI2019]校园旅行
    LCT模板(无讲解)
    min_25筛题目总结
    Miller Robbin测试模板(无讲解)
    19_04_02校内训练[图染色]
  • 原文地址:https://www.cnblogs.com/jinzhiming/p/5066657.html
Copyright © 2020-2023  润新知