zoukankan      html  css  js  c++  java
  • net.sf.json日期类型格式化输出

    net.sf.json 日期类型格式化输出

     Date, Timestamp ;

    编写工具类

    package cn.jorcen.commons.util;
    
    import java.text.DateFormat;
    import java.text.SimpleDateFormat;
    import java.util.Date;
    
    import net.sf.json.JsonConfig;
    import net.sf.json.processors.JsonValueProcessor;
    
    public class DateJsonValueProcessor implements JsonValueProcessor {
        /**
         * 字母 日期或时间元素 表示 示例 <br>
         * G Era 标志符 Text AD <br>
         * y 年 Year 1996; 96 <br>
         * M 年中的月份 Month July; Jul; 07 <br>
         * w 年中的周数 Number 27 <br>
         * W 月份中的周数 Number 2 <br>
         * D 年中的天数 Number 189 <br>
         * d 月份中的天数 Number 10 <br>
         * F 月份中的星期 Number 2 <br>
         * E 星期中的天数 Text Tuesday; Tue<br>
         * a Am/pm 标记 Text PM <br>
         * H 一天中的小时数(0-23) Number 0 <br>
         * k 一天中的小时数(1-24) Number 24<br>
         * K am/pm 中的小时数(0-11) Number 0 <br>
         * h am/pm 中的小时数(1-12) Number 12 <br>
         * m 小时中的分钟数 Number 30 <br>
         * s 分钟中的秒数 Number 55 <br>
         * S 毫秒数 Number 978 <br>
         * z 时区 General time zone Pacific Standard Time; PST; GMT-08:00 <br>
         * Z 时区 RFC 822 time zone -0800 <br>
         */
        public static final String Default_DATE_PATTERN = "yyyy-MM-dd HH:mm:ss";
        private DateFormat dateFormat;
    
        public DateJsonValueProcessor(String datePattern) {
            try {
                dateFormat = new SimpleDateFormat(datePattern);
            } catch (Exception e) {
                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) {
            return dateFormat.format((Date) value);
    
        }
    }

    测试类:

    /**
     * 
     */
    package cn.jorcen.commons.util;
    
    import java.sql.Timestamp;
    import java.util.Date;
    import java.util.HashMap;
    import java.util.Map;
    
    import net.sf.json.JsonConfig;
    
    import com.alibaba.fastjson.serializer.SerializerFeature;
    
    /**
     * 
     * 统一Json出口
     * 
     * @author mjorcen
     * @email mjorcen@gmail.com
     * @dateTime Jun 4, 2014 4:11:20 PM
     * @version 1
     */
    public class FastJosnUtil {
        public static final String toJson(Object obj) {
            return toNetSFJson(obj);
        }
    
        private static String toNetSFJson(Object obj) {
            JsonConfig config = new JsonConfig();
            config.registerJsonValueProcessor(Date.class,
                    new DateJsonValueProcessor("yyyy-MM-dd hh:mm:ss"));
            config.registerJsonValueProcessor(Timestamp.class,
                    new DateJsonValueProcessor("yyyy-MM-dd hh:mm:ss"));
            String objStr = net.sf.json.JSONObject.fromObject(obj, config)
                    .toString();
            return objStr;
        }
    
        public static final String toFastJson(Object obj) {
            String objStr = com.alibaba.fastjson.JSONObject.toJSONString(obj,
                    SerializerFeature.WriteDateUseDateFormat,
                    SerializerFeature.WriteMapNullValue);
            return objStr;
        }
    
        public static void main(String[] args) {
            Map<String, Object> map = new HashMap<String, Object>();
            map.put("time", new Date());
            map.put("name", "yy");
            map.put("age", 20);
            map.put("timestamp", new Timestamp(System.currentTimeMillis()));
            System.out.println(toJson(map));
        }
    }

    结果:

    {"timestamp":"2014-06-10 05:54:11","time":"2014-06-10 05:54:11","age":20,"name":"yy"}
  • 相关阅读:
    将vue文件script代码抽取到单独的js文件
    git pull 提示错误:Your local changes to the following files would be overwritten by merge
    vue和uniapp 配置项目基础路径
    XAMPP Access forbidden! Access to the requested directory is only available from the local network.
    postman与newman集成
    postman生成代码段
    Curl命令
    POST方法的Content-type类型
    Selenium Grid 并行的Web测试
    pytorch转ONNX以及TnesorRT的坑
  • 原文地址:https://www.cnblogs.com/mjorcen/p/3780464.html
Copyright © 2011-2022 走看看